// Karma configuration // http://karma-runner.github.io/0.13/config/configuration-file.html var sourcePreprocessors = ['coverage']; function isDebug() { return process.argv.indexOf('--debug') >= 0; } if (isDebug()) { // Disable JS minification if Karma is run with debug option. sourcePreprocessors = []; } module.exports = function (config) { config.set({ // base path, that will be used to resolve files and exclude basePath: 'src/test/javascript/'.replace(/[^/]+/g, '..'), // testing framework to use (jasmine/mocha/qunit/...) frameworks: ['jasmine'], // list of files / patterns to load in the browser files: [ // bower:js 'src/main/webapp/bower_components/jquery/dist/jquery.js', 'src/main/webapp/bower_components/json3/lib/json3.js', 'src/main/webapp/bower_components/messageformat/messageformat.js', 'src/main/webapp/bower_components/angular/angular.js', 'src/main/webapp/bower_components/angular-aria/angular-aria.js', 'src/main/webapp/bower_components/angular-bootstrap/ui-bootstrap-tpls.js', 'src/main/webapp/bower_components/angular-cache-buster/angular-cache-buster.js', 'src/main/webapp/bower_components/angular-cookies/angular-cookies.js', 'src/main/webapp/bower_components/ngstorage/ngStorage.js', 'src/main/webapp/bower_components/angular-loading-bar/build/loading-bar.js', 'src/main/webapp/bower_components/angular-resource/angular-resource.js', 'src/main/webapp/bower_components/angular-sanitize/angular-sanitize.js', 'src/main/webapp/bower_components/angular-ui-router/release/angular-ui-router.js', 'src/main/webapp/bower_components/bootstrap-ui-datetime-picker/dist/datetime-picker.js', 'src/main/webapp/bower_components/ng-file-upload/ng-file-upload.js', 'src/main/webapp/bower_components/ngInfiniteScroll/build/ng-infinite-scroll.js', 'src/main/webapp/bower_components/angular-mocks/angular-mocks.js', // endbower 'src/main/webapp/app/app.module.js', 'src/main/webapp/app/app.state.js', 'src/main/webapp/app/app.constants.js', 'src/main/webapp/app/**/*.+(js|html)', 'src/test/javascript/spec/helpers/module.js', 'src/test/javascript/spec/helpers/httpBackend.js', 'src/test/javascript/**/!(karma.conf).js' ], // list of files / patterns to exclude exclude: [], preprocessors: { './**/*.js': sourcePreprocessors }, reporters: ['dots', 'junit', 'coverage', 'progress'], junitReporter: { outputFile: '../target/test-results/karma/TESTS-results.xml' }, coverageReporter: { dir: 'target/test-results/coverage', reporters: [ {type: 'lcov', subdir: 'report-lcov'} ] }, // web server port port: 9876, // level of logging // possible values: LOG_DISABLE || LOG_ERROR || LOG_WARN || LOG_INFO || LOG_DEBUG logLevel: config.LOG_INFO, // enable / disable watching file and executing tests whenever any file changes autoWatch: false, // Start these browsers, currently available: // - Chrome // - ChromeCanary // - Firefox // - Opera // - Safari (only Mac) // - PhantomJS // - IE (only Windows) browsers: ['PhantomJS'], // Continuous Integration mode // if true, it capture browsers, run tests and exit singleRun: false, // to avoid DISCONNECTED messages when connecting to slow virtual machines browserDisconnectTimeout: 10000, // default 2000 browserDisconnectTolerance: 1, // default 0 browserNoActivityTimeout: 4 * 60 * 1000 //default 10000 }); };