私の karma.conf.js ファイルは次のようになります。
// Karma configuration
// Generated on Tue Jun 11 2013 14:14:12 GMT+0100 (GMT Daylight Time)
// base path, that will be used to resolve files and exclude
basePath = '';
// list of files / patterns to load in the browser
files = [
JASMINE,
JASMINE_ADAPTER,
'../Scripts/angular/angular.js',
'../Scripts/angular/restangular/underscore-min.js',
'../Scripts/angular/restangular/restangular-min.js',
'../Scripts/angular/angular-*.js',
'../Scripts/angular/angular-test/angular-*.js',
'../Scripts/angular/angular-ui/*.js',
'../Scripts/angular/angular-strap/*.js',
'../Scripts/angular/angular-http-auth/*.js',
'../uifw/scripts/ui-framework-angular.js',
'../app/app.js',
'../app/**/*.js',
'unit/**/*.js'
];
// list of files to exclude
exclude = [
'../Scripts/angular/angular-test/angular-scenario.js'
];
preprocessors = {
'**/../app/**/*.js': 'coverage'
};
coverageReporter = {
type: 'html',
dir: 'coverage/'
};
// test results reporter to use
// possible values: 'dots', 'progress', 'junit'
reporters = ['progress', 'coverage'];
// web server port
port = 9876;
// cli runner port
runnerPort = 9100;
// enable / disable colors in the output (reporters and logs)
colors = true;
// level of logging
// possible values: LOG_DISABLE || LOG_ERROR || LOG_WARN || LOG_INFO || LOG_DEBUG
logLevel = LOG_DEBUG;
// 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 = ['Chrome'];
// 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 = false;
私のフォルダ構造は次のようになります:
Root
|__ App
|__ Scripts
|__ Tests
|__ .... other folders
Karma.conf.js
tests フォルダー内にあります。Karma start karma.conf.j
フォルダ内から実行されtests
ます。
テストが実行され、カバレッジ フォルダーが作成されますが、カバレッジは常に 100% と表示されます。
私は何を間違っていますか?
編集:
実際、それは単純な答えであることが判明しました。preprocessors = {
'**/../app/**/*.js': 'coverage'
};
を前に付ける必要がなくなりました**
詳しくはこちらをご覧ください