examples/conf/karma.conf.js
'use strict';
module.exports = function (config) {
var libName = process.env['HUGS_TEST_LIB'] || 'unspecified test lib';
var expectedLibs = ['mocha', 'jasmine'];
if (expectedLibs.indexOf(libName) === -1) {
// eslint-disable-next-line
throw Error(libName + ' not found in expected list of test libraries: ' + expectedLibs.join(', ') + '. Specify via HUGS_TEST_LIB env var');
} else {
config.set({
// base path, that will be used to resolve files and exclude
basePath: '../../',
frameworks: [libName, 'sinon', 'power-assert'],
// list of files / patterns to load in the browser
files: [
'examples/node_modules/babel-polyfill/dist/polyfill.js',
'src/exporters/sinon.js',
'src/targets/' + libName + '.js',
'src/index.js',
'examples/browser.js'
],
// list of files to exclude
exclude: [],
preprocessors: {
'examples/browser.js': ['espower']
},
// use dots reporter, as travis terminal does not support escaping sequences
// possible values: 'dots', 'progress'
// CLI --reporters progress
reporters: ['spec', 'junit', 'coverage'],
junitReporter: {
outputDir: './target/browsers/',
outputFile: 'test-results.xml'
},
coverageReporter: {
type: 'html',
dir: 'target/browsers/coverage/'
},
// web server port
// CLI --port 9876
port: 9876,
// enable / disable colors in the output (reporters and logs)
// CLI --colors --no-colors
colors: true,
// level of logging
// possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
// CLI --log-level debug
logLevel: config.LOG_INFO,
// enable / disable watching file and executing tests whenever any file changes
// CLI --auto-watch --no-auto-watch
autoWatch: true,
// Start these browsers, currently available:
// - Chrome
// - ChromeCanary
// - Firefox
// - Opera
// - Safari (only Mac)
// - PhantomJS
// - IE (only Windows)
// CLI --browsers Chrome,Firefox,Safari
browsers: ['PhantomJS'],
// If browser does not capture in given timeout [ms], kill it
// CLI --capture-timeout 5000
captureTimeout: 20000,
// Auto run tests on start (when browsers are captured) and exit
// CLI --single-run --no-single-run
singleRun: true,
// report which specs are slower than 500ms
// CLI --report-slower-than 500
reportSlowerThan: 500,
client: {
mocha: {
reporter: 'html', // change Karma's debug.html to the mocha web reporter
ui: 'tdd'
}
}
});
}
};