postmessage-rpc/test/karma.conf.js

87 строки
1.9 KiB
JavaScript

const path = require('path');
module.exports = config => {
const isBrowserstack = Boolean(process.env.USE_BROWSER_STACK);
const launchers = {
bsFirefox: {
base: 'BrowserStack',
browser: 'firefox',
os: 'Windows',
os_version: '10',
},
bsSafari: {
base: 'BrowserStack',
browser: 'safari',
os: 'OS X',
os_version: 'High Sierra',
},
bsEdge: {
base: 'BrowserStack',
browser: 'edge',
browser_version: '14',
os: 'Windows',
os_version: '10',
},
bsChrome: {
base: 'BrowserStack',
browser: 'chrome',
os: 'Windows',
os_version: '10',
},
};
config.set({
/**
* General base config:
*/
basePath: path.join(__dirname, '..'),
frameworks: ['mocha'],
reporters: isBrowserstack ? ['mocha', 'BrowserStack'] : ['mocha', 'coverage-istanbul'],
browserStack: {},
coverageIstanbulReporter: {
reports: ['text-summary', 'html'],
// fixWebpackSourcePaths: true,
dir: path.join(__dirname, '../coverage'),
},
client: {
mocha: {
timeout: 10000,
},
},
customLaunchers: launchers,
plugins: [
require('karma-mocha'),
require('karma-mocha-reporter'),
require('karma-chrome-launcher'),
require('karma-browserstack-launcher'),
require('karma-webpack'),
require('karma-coverage-istanbul-reporter'),
],
/**
* Webpack and bundling config:
*/
webpack: require('./webpack.config'),
webpackServer: { noInfo: true },
webpackMiddleware: { stats: 'errors-only' },
files: ['test/karma.shim.js'],
preprocessors: { 'test/karma.shim.js': ['webpack'] },
/**
* Karma run config:
*/
browsers: isBrowserstack ? Object.keys(launchers) : ['ChromeHeadless'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
singleRun: true,
mochaReporter: {
showDiff: true,
},
});
};