Skip to content

Commit d945e4f

Browse files
committed
fake remote url + puppeteer
1 parent ca4522a commit d945e4f

File tree

5 files changed

+222
-28
lines changed

5 files changed

+222
-28
lines changed

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
"package-debug": "node ./build/pack.js - debug",
3737
"test": "npm install ./src/common && karma start ./test/karma.conf.js",
3838
"citest": "npm install ./src/common && karma start ./test/karma.conf.js --single-run --no-auto-watch",
39+
"citest1": "npm install ./src/common && karma start ./test/karma.conf.js --single-run --no-auto-watch --server=http://192.168.169.4:8090/iserver",
3940
"exampletest": "nightwatch --config ./examples-test/nightwatch.json",
4041
"build-docs": "npm run build-docs-leaflet&&npm run build-docs-openlayers&&npm run build-docs-mapboxgl&&npm run build-docs-classic",
4142
"build-docs-leaflet": "jsdoc -c ./build/jsdocs/leaflet/docs.json -R ./build/jsdocs/leaflet/index.md",
@@ -98,6 +99,7 @@
9899
"open": "^7.3.0",
99100
"pngjs": "^6.0.0",
100101
"pre-commit": "^1.2.2",
102+
"puppeteer": "^11.0.0",
101103
"request": "^2.88.0",
102104
"selenium-server": "3.141.59",
103105
"serve-index": "^1.9.1",

test/karma.conf - 副本.js

Lines changed: 184 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,184 @@
1+
// Karma configuration
2+
// Generated on Fri Feb 17 2017 15:57:25 GMT+0800 (中国标准时间)
3+
const fileUtil = require('karma-sonarqube-unit-reporter/src/file-util.js');
4+
const program = require('commander');
5+
const testPath = ['./test'];
6+
const testFilePattern = 'Spec.js';
7+
const filesForDescriptions = fileUtil.getFilesForDescriptions(testPath, testFilePattern);
8+
9+
program.option('--single-run').option('--no-auto-watch').option('--server <server>');
10+
const testServer = program.parse(process.argv).opts().server || 'http://localhost:8090/iserver';
11+
console.log('testServer',testServer);
12+
module.exports = function (config) {
13+
// 设置测试的超时时间
14+
config.set({
15+
// base path that will be used to resolve all patterns (eg. files, exclude)
16+
basePath: '',
17+
18+
// frameworks to use
19+
// available frameworks: https://npmjs.org/browse/keyword/karma-adapter
20+
frameworks: ['jasmine', 'browserify'],
21+
22+
client: {
23+
jasmine: {
24+
random: false
25+
}
26+
},
27+
28+
browserify: {
29+
debug: true,
30+
transform: [
31+
[
32+
require('babelify'),
33+
{
34+
global: true,
35+
presets: ['@babel/preset-env'],
36+
ignore: [
37+
'../src/classic/libs/**',
38+
'../test/libs/**',
39+
'../node_modules/mapbox-gl/**',
40+
'../node_modules/three/**',
41+
'../node_modules/xlsx/**',
42+
'../node_modules/@turf/**',
43+
'../node_modules/lodash/**'
44+
],
45+
plugins: ['istanbul', '@babel/plugin-transform-runtime']
46+
}
47+
],
48+
[require('browserify-css'), { global: true }],
49+
require('browserify-imgify')
50+
]
51+
},
52+
// list of files patterns to load in the browser
53+
// false 表示初始化的时候不会使用 script 标签直接将相关 js 引入到浏览器,需要自己写代码加载, 注意添加顺序
54+
files: [
55+
/***测试文件***/
56+
'./tool/**.js',
57+
'./resources/**.js',
58+
'./resources/img/**.png',
59+
/***classic的源码***/
60+
/*由于除了classic其他都不依赖于8c,所以classic 的引入放在最后,以免被common覆盖*/
61+
{ pattern: '../src/classic/libs/SuperMap_Basic-8.1.1-17729.js', include: false },
62+
{ pattern: '../src/classic/libs/Lang/*.js', include: false },
63+
{ pattern: '../src/classic/theme/default/*.css', include: false },
64+
/**测试文件**/
65+
'./test-main-classic.js',
66+
67+
/***common的源码***/
68+
'../src/common/**/*.js',
69+
/**测试文件**/
70+
'./test-main-common.js',
71+
72+
/***leaflet的源码***/
73+
{ pattern: './libs/workers/TurfWorkerForTest.js', include: false },
74+
{ pattern: '../node_modules/leaflet/dist/leaflet.css', include: false },
75+
{ pattern: '../src/leaflet/**/**/*.css', include: false },
76+
'../src/leaflet/**/!(index).js',
77+
/**测试文件**/
78+
'./test-main-leaflet.js',
79+
80+
/***openlayers的源码***/
81+
{ pattern: '../node_modules/ol/ol.css', include: false },
82+
{ pattern: '../src/openlayers/**/**/*.css', include: false },
83+
'../src/openlayers/**/!(index).js',
84+
/**测试文件**/
85+
'./test-main-openlayers.js',
86+
87+
/***mapboxgl***/
88+
{ pattern: '../node_modules/mapbox-gl/dist/mapbox-gl.css', include: false },
89+
'../src/mapboxgl/**/!(index).js',
90+
/**测试文件**/
91+
'./test-main-mapboxgl.js'
92+
],
93+
94+
// list of files to exclude 测试时排除的文件
95+
exclude: [],
96+
97+
// preprocess matching files before serving them to the browser
98+
// available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
99+
preprocessors: {
100+
'./tool/!(GlobeParameter).js': ['browserify'],
101+
'../node_modules/fetch-jsonp/build/fetch-jsonp.js': ['browserify'],
102+
'../src/classic/libs/SuperMap_Basic-8.1.1-17729.js': ['browserify'],
103+
'../src/classic/libs/Lang/*.js': ['browserify'],
104+
'../src/classic/**/!(index).js': ['browserify'],
105+
// './classic/**/*Spec.js': ['browserify'],
106+
'./test-main-classic.js': ['browserify'],
107+
'../src/common/**/*.js': ['browserify'],
108+
// './common/**/*Spec.js': ['browserify'],
109+
'./test-main-common.js': ['browserify'],
110+
111+
'../node_modules/leaflet/dist/leaflet-src.js': ['browserify'],
112+
'../src/leaflet/**/!(index).js': ['browserify'],
113+
// './leaflet/**/*Spec.js': ['browserify'],
114+
'./test-main-leaflet.js': ['browserify'],
115+
116+
'../node_modules/ol/*.js': ['browserify'],
117+
'../node_modules/ol/**/*.js': ['browserify'],
118+
'../src/openlayers/**/!(index).js': ['browserify'],
119+
// './openlayers/**/*Spec.js': ['browserify'],
120+
'./test-main-openlayers.js': ['browserify'],
121+
122+
'../node_modules/mapbox-gl/dist/mapbox-gl-dev.js': ['browserify'],
123+
'../src/mapboxgl/**/!(index).js': ['browserify'],
124+
// './mapboxgl/**/*Spec.js': ['browserify'],
125+
'./test-main-mapboxgl.js': ['browserify']
126+
},
127+
128+
// test results reporter to use
129+
// possible values: 'dots', 'progress'
130+
// available reporters: https://npmjs.org/browse/keyword/karma-reporter
131+
reporters: ['progress', 'sonarqubeUnit', 'coverage', 'teamcity'],
132+
133+
//最大超时时间
134+
captureTimeout: 120000,
135+
browserNoActivityTimeout: 120000,
136+
browserDisconnectTimeout: 20000,
137+
138+
coverageReporter: {
139+
dir: 'testcoverage/',
140+
reporters: [{ type: 'lcov', subdir: '.' }]
141+
},
142+
sonarQubeUnitReporter: {
143+
sonarQubeVersion: 'LATEST',
144+
outputFile: 'testcoverage/ut_report.xml',
145+
filenameFormatter: (nextPath, result) => {
146+
return filesForDescriptions[nextPath] || '';
147+
},
148+
testnameFormatter: (testname, result) => {
149+
if (result.time < 1) {
150+
result.time = 1;
151+
}
152+
return testname;
153+
},
154+
useBrowserName: false
155+
},
156+
// web server port
157+
port: 9876,
158+
159+
// enable / disable colors in the output (reporters and logs)
160+
colors: true,
161+
162+
// level of logging
163+
// possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
164+
logLevel: config.LOG_INFO,
165+
166+
// enable / disable watching file and executing tests whenever any file changes
167+
autoWatch: true,
168+
169+
// start these browsers
170+
// available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
171+
browsers: ['Chrome'],
172+
173+
// Continuous Integration mode
174+
// if true, Karma captures browsers, runs the tests and exits
175+
singleRun: false,
176+
177+
// Concurrency level
178+
// how many browser should be started simultaneous
179+
concurrency: Infinity,
180+
proxies: {
181+
'/iserver/': testServer
182+
}
183+
});
184+
};

test/karma.conf.js

Lines changed: 19 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ const testPath = ['./test'];
66
const testFilePattern = 'Spec.js';
77
const filesForDescriptions = fileUtil.getFilesForDescriptions(testPath, testFilePattern);
88

9+
process.env.CHROME_BIN = require('puppeteer').executablePath()
10+
911
program.option('--single-run').option('--no-auto-watch').option('--server <server>');
1012
const testServer = program.parse(process.argv).opts().server || 'http://localhost:8090/iserver';
1113
console.log('testServer',testServer);
@@ -62,33 +64,20 @@ module.exports = function (config) {
6264
{ pattern: '../src/classic/libs/Lang/*.js', include: false },
6365
{ pattern: '../src/classic/theme/default/*.css', include: false },
6466
/**测试文件**/
65-
'./test-main-classic.js',
67+
//'./test-main-classic.js',
6668

6769
/***common的源码***/
6870
'../src/common/**/*.js',
6971
/**测试文件**/
70-
'./test-main-common.js',
72+
// './test-main-common-mini.js',
7173

7274
/***leaflet的源码***/
7375
{ pattern: './libs/workers/TurfWorkerForTest.js', include: false },
7476
{ pattern: '../node_modules/leaflet/dist/leaflet.css', include: false },
7577
{ pattern: '../src/leaflet/**/**/*.css', include: false },
7678
'../src/leaflet/**/!(index).js',
7779
/**测试文件**/
78-
'./test-main-leaflet.js',
79-
80-
/***openlayers的源码***/
81-
{ pattern: '../node_modules/ol/ol.css', include: false },
82-
{ pattern: '../src/openlayers/**/**/*.css', include: false },
83-
'../src/openlayers/**/!(index).js',
84-
/**测试文件**/
85-
'./test-main-openlayers.js',
86-
87-
/***mapboxgl***/
88-
{ pattern: '../node_modules/mapbox-gl/dist/mapbox-gl.css', include: false },
89-
'../src/mapboxgl/**/!(index).js',
90-
/**测试文件**/
91-
'./test-main-mapboxgl.js'
80+
'./test-main-leaflet-mini.js'
9281
],
9382

9483
// list of files to exclude 测试时排除的文件
@@ -107,22 +96,24 @@ module.exports = function (config) {
10796
'../src/common/**/*.js': ['browserify'],
10897
// './common/**/*Spec.js': ['browserify'],
10998
'./test-main-common.js': ['browserify'],
99+
'./test-main-common-mini.js': ['browserify'],
110100

111101
'../node_modules/leaflet/dist/leaflet-src.js': ['browserify'],
112102
'../src/leaflet/**/!(index).js': ['browserify'],
113103
// './leaflet/**/*Spec.js': ['browserify'],
114104
'./test-main-leaflet.js': ['browserify'],
115-
116-
'../node_modules/ol/*.js': ['browserify'],
117-
'../node_modules/ol/**/*.js': ['browserify'],
118-
'../src/openlayers/**/!(index).js': ['browserify'],
119-
// './openlayers/**/*Spec.js': ['browserify'],
120-
'./test-main-openlayers.js': ['browserify'],
121-
122-
'../node_modules/mapbox-gl/dist/mapbox-gl-dev.js': ['browserify'],
123-
'../src/mapboxgl/**/!(index).js': ['browserify'],
124-
// './mapboxgl/**/*Spec.js': ['browserify'],
125-
'./test-main-mapboxgl.js': ['browserify']
105+
'./test-main-leaflet-mini.js': ['browserify'],
106+
107+
// '../node_modules/ol/*.js': ['browserify'],
108+
// '../node_modules/ol/**/*.js': ['browserify'],
109+
// '../src/openlayers/**/!(index).js': ['browserify'],
110+
// // './openlayers/**/*Spec.js': ['browserify'],
111+
// './test-main-openlayers.js': ['browserify'],
112+
113+
// '../node_modules/mapbox-gl/dist/mapbox-gl-dev.js': ['browserify'],
114+
// '../src/mapboxgl/**/!(index).js': ['browserify'],
115+
// // './mapboxgl/**/*Spec.js': ['browserify'],
116+
// './test-main-mapboxgl.js': ['browserify']
126117
},
127118

128119
// test results reporter to use
@@ -168,7 +159,7 @@ module.exports = function (config) {
168159

169160
// start these browsers
170161
// available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
171-
browsers: ['Chrome'],
162+
browsers: ['ChromeHeadless'],
172163

173164
// Continuous Integration mode
174165
// if true, Karma captures browsers, runs the tests and exits

test/test-main-common-mini.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
2+
3+
/**common -- component
4+
import './common/components/templates/IndexTabsPageContainerSpec.js';
5+
import './common/components/templates/NavTabsPageSpec.js';
6+
import './common/components/templates/CommonContainerSpec.js';
7+
import './common/components/chart/ChartViewModelSpec';
8+
import './common/components/chart/ChartViewSpec';
9+
**/
10+
import './common/components/chart/ChartModelSpec.js';
11+
12+
13+
import './common/util/FetchRequestSpec';

test/test-main-leaflet-mini.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
/*leaflet -- control*/
2+
/*leaflet -- mapping*/
3+
import './leaflet/mapping/ImageMapLayerSpec.js';
4+

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy