Created
March 3, 2016 16:35
-
-
Save soupman99/1cd68b3b5e92910884e7 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
'use strict'; | |
/** | |
* Module dependencies. | |
*/ | |
var _ = require('lodash'), | |
defaultAssets = require('./config/assets/default'), | |
testAssets = | |
{ | |
tests: { | |
client: ['modules/*/tests/client/**/*.js',{pattern: 'modules/*/tests/client/**/*.json'}], | |
server: ['modules/*/tests/server/**/*.js'], | |
e2e: ['modules/*/tests/e2e/**/*.js'] | |
} | |
} | |
testConfig = require('./config/env/test'), | |
karmaReporters = ['progress']; | |
if (testConfig.coverage) { | |
karmaReporters.push('coverage'); | |
} | |
// Karma configuration | |
module.exports = function (karmaConfig) { | |
karmaConfig.set({ | |
// Frameworks to use | |
frameworks: ['jasmine'], | |
// List of files / patterns to load in the browser | |
files: _.union(defaultAssets.client.lib.js, defaultAssets.client.lib.tests, defaultAssets.client.js, testAssets.tests.client, defaultAssets.client.views), | |
preprocessors: { | |
'modules/*/client/views/**/*.html': ['ng-html2js'], | |
'modules/core/client/app/config.js': ['coverage'], | |
'modules/core/client/app/init.js': ['coverage'], | |
'modules/*/client/*.js': ['coverage'], | |
'modules/*/client/config/*.js': ['coverage'], | |
'modules/*/client/controllers/*.js': ['coverage'], | |
'modules/*/client/directives/*.js': ['coverage'], | |
'modules/*/client/services/*.js': ['coverage'], | |
'modules/*/tests/**/*.json': ['json_fixtures'] | |
}, | |
jsonFixturesPreprocessor: { | |
// strip this from the file path \ fixture name | |
stripPrefix: 'test/fixtures', | |
// strip this to the file path \ fixture name | |
prependPrefix: 'mock/', | |
// change the global fixtures variable name | |
variableName: '__mocks__', | |
// camelize fixture filenames (e.g 'fixtures/aa-bb_cc.json' becames __fixtures__['fixtures/aaBbCc']) | |
camelizeFilenames: true, | |
// transform the filename | |
transformPath: function(path) { | |
return path + '.js'; | |
} | |
}, | |
ngHtml2JsPreprocessor: { | |
moduleName: 'mean', | |
//cacheIdFromPath: function (filepath) { | |
// return filepath; | |
//}, | |
}, | |
//plugins: [ | |
// 'karma-fixture', | |
// 'karma-html2js-preprocessor', | |
// 'karma-json-fixtures-preprocessor' | |
//], | |
// Test results reporter to use | |
// Possible values: 'dots', 'progress', 'junit', 'growl', 'coverage' | |
reporters: karmaReporters, | |
// Configure the coverage reporter | |
coverageReporter: { | |
dir: 'coverage/client', | |
reporters: [ | |
// Reporters not supporting the `file` property | |
{type: 'html', subdir: 'report-html'}, | |
{type: 'lcov', subdir: 'report-lcov'}, | |
// Output coverage to console | |
{type: 'text'} | |
], | |
instrumenterOptions: { | |
istanbul: {noCompact: true} | |
} | |
}, | |
// Web server port | |
port: 9876, | |
// Enable / disable colors in the output (reporters and logs) | |
colors: true, | |
// Level of logging | |
// Possible values: karmaConfig.LOG_DISABLE || karmaConfig.LOG_ERROR || karmaConfig.LOG_WARN || karmaConfig.LOG_INFO || karmaConfig.LOG_DEBUG | |
logLevel: karmaConfig.LOG_INFO, | |
// Enable / disable watching file and executing tests whenever any file changes | |
autoWatch: true, | |
// Start these browsers, currently available: | |
// - Chrome | |
// - ChromeCanary | |
// - Firefox | |
// - Opera | |
// - Safari (only Mac) | |
// - PhantomJS | |
// - IE (only Windows) | |
browsers: ['PhantomJS'], | |
// If browser does not capture in given timeout [ms], kill it | |
captureTimeout: 60000, | |
// Continuous Integration mode | |
// If true, it capture browsers, run tests and exit | |
singleRun: true | |
}); | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment