我的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 foldersKarma.conf.js位于测试文件夹内。从tests文件夹中运行Karma start karma.conf.j。
我的测试运行并创建了一个coverage文件夹,但是coverage始终显示为100%。

我做错了什么?
编辑:
事实上,事实证明这是一个简单的答案。preprocessors = { '**/../app/**/*.js': 'coverage' };不再需要以**为前缀
发布于 2017-06-13 04:20:58
把webpack和伊斯坦布尔的仪器装载器放在一起,让我走上了正确的道路。{ test: /\.ts/, include: helpers.root('src', 'app'), loader: 'istanbul-instrumenter-loader', enforce: 'post' }
发布于 2013-08-13 04:52:27
您需要设置ANGULAR_SCENARIO_ADAPTER。Karma不使用JASMINE_ADAPTER。
发布于 2013-09-16 21:29:23
在我看来,您的问题似乎是您无法找到您试图为其生成覆盖率的任何文件。您的报告中确实提到运行了0/0行、0/0语句等。
我有一个类似的问题,是我使用小写字母而不是大写字母引起的,看起来你可能有相同的问题,因为你有一个名为"App“的文件夹,但你在配置中用"app”来引用它。看看是否可以通过编写**/../App/**/*.js': 'coverage'让它正常工作
我也不确定,但我认为你应该写../App/**/*.js': 'coverage'而不是**/../App/**/*.js': 'coverage'
https://stackoverflow.com/questions/18183660
复制相似问题