143 lines
4.3 KiB
143 lines
4.3 KiB
// Karma configuration |
|
// Generated on Mon Nov 27 2017 11:16:26 GMT+0800 (中国标准时间) |
|
|
|
const os = require("os"); |
|
|
|
process.env.CHROME_BIN = require("puppeteer").executablePath(); |
|
|
|
module.exports = function (config) { |
|
config.set({ |
|
|
|
// base path that will be used to resolve all patterns (eg. files, exclude) |
|
basePath: "", |
|
|
|
|
|
// frameworks to use |
|
// available frameworks: https://npmjs.org/browse/keyword/karma-adapter |
|
frameworks: ["mocha", "chai"], |
|
|
|
|
|
// list of files / patterns to load in the browser |
|
files: [ |
|
"dist/fineui.min.css", |
|
"src/core/**/*.js", |
|
"src/data/**/*.js", |
|
"src/third/**/*.js", |
|
"src/base/**/*.js", |
|
"src/case/**/*.js", |
|
"src/widget/**/*.js", |
|
"src/component/**/*.js", |
|
"dist/fix/fix.js", |
|
"dist/fix/fix.compact.js", |
|
"src/**/*.test.js", |
|
"test/**/*.js" |
|
], |
|
|
|
exclude: [ |
|
"src/base/single/input/file.js", |
|
"src/case/ztree/**/*.js", |
|
"src/widget/multitree/**/*.js", |
|
"src/widget/multiselecttree/**/*.js", |
|
"src/component/treevaluechooser/*.js" |
|
], |
|
|
|
|
|
// preprocess matching files before serving them to the browser |
|
// available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor |
|
preprocessors: { |
|
"src/core/1.base.js": "coverage", |
|
"src/core/func/**/*.js": "coverage", |
|
"src/base/**/!(*.test).js": "coverage", |
|
"src/case/**/!(*.test).js": "coverage", |
|
"src/widget/**/!(*.test).js": "coverage", |
|
"src/component/**/!(*.test).js": "coverage" |
|
}, |
|
|
|
|
|
// test results reporter to use |
|
// possible values: 'dots', 'progress' |
|
// available reporters: https://npmjs.org/browse/keyword/karma-reporter |
|
reporters: ["progress", "coverage"], |
|
|
|
browserDisconnectTolerance: 3, |
|
browserDisconnectTimeout : 300000, |
|
browserNoActivityTimeout : 300000, |
|
|
|
coverageReporter: { |
|
// specify a common output directory |
|
dir: "coverage/", |
|
reporters: [ |
|
// reporters not supporting the `file` property |
|
{ type: "html", subdir: "report-html" }, |
|
{ type: "json-summary", subdir: "report-json-summary" }, |
|
{ type: "cobertura", subdir: "report-cobertura"} |
|
] |
|
}, |
|
|
|
|
|
// web server port |
|
port: 9878, |
|
|
|
|
|
// enable / disable colors in the output (reporters and logs) |
|
colors: true, |
|
|
|
|
|
// level of logging |
|
// possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG |
|
logLevel: config.LOG_INFO, |
|
|
|
|
|
// enable / disable watching file and executing tests whenever any file changes |
|
autoWatch: true, |
|
|
|
|
|
customLaunchers: { |
|
HeadlessChrome: { |
|
base: "ChromeHeadless", |
|
flags: [ |
|
"--no-sandbox", |
|
"--remote-debugging-port=9222", |
|
"--enable-logging", |
|
"--user-data-dir=./karma-chrome", |
|
"--v=1", |
|
"--disable-background-timer-throttling", |
|
"--disable-renderer-backgrounding", |
|
"--proxy-bypass-list=*", |
|
"--disable-web-security", |
|
"--disable-gpu", |
|
"--no-sandbox", |
|
], |
|
}, |
|
}, |
|
|
|
|
|
// start these browsers |
|
// available browser launchers: https://npmjs.org/browse/keyword/karma-launcher |
|
browsers: [os.platform() === "win32" |
|
&& parseFloat(os.release() |
|
.split(".") |
|
.slice(0, 2) |
|
.join(".")) <= 6.1 |
|
? "HeadlessChrome" : "ChromeHeadless"], |
|
|
|
retryLimit: 30, |
|
|
|
captureTimeout: 30000, |
|
|
|
// Continuous Integration mode |
|
// if true, Karma captures browsers, runs the tests and exits |
|
singleRun: true, |
|
|
|
// Concurrency level |
|
// how many browser should be started simultaneous |
|
concurrency: Infinity, |
|
|
|
plugins: [ |
|
"karma-mocha", |
|
"karma-chai", |
|
"karma-chrome-launcher", |
|
"karma-coverage" |
|
] |
|
}); |
|
};
|
|
|