我有以下基于this的karma.config.js
module.exports = function (config) {
config.set({
basePath: '',
files: ['**/*spec.ts'],
frameworks: ['jasmine'],
plugins: [
require('karma-jasmine'),
require('karma-chrome-launcher'),
require('karma-jasmine-html-reporter'),
require('karma-coverage-istanbul-reporter')
],
client: {
clearContext: false // leave Jasmine Spec Runner output visible in browser
},
coverageIstanbulReporter: {
dir: require('path').join(__dirname, '../coverage'),
reports: ['html', 'lcovonly'],
fixWebpackSourcePaths: true
},
reporters: ['progress', 'kjhtml'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome'],
singleRun: false
});
};
我不明白为什么报告说执行了0个测试。我确定我的src文件夹中有一些扩展名为spec.ts
的文件。
Chrome 68.0.3440(Windows 10.0.0):执行0的0错误(0.079秒/ 0秒)
有人知道可能是什么问题吗?
答案 0 :(得分:2)
您需要检查src / test.ts中的路径。这是我的代码。
// Then we find all the tests.
const context = require.context('./', true, /\.spec\.ts$/);
// And load the modules.
context.keys().map(context);
// Finally, start Karma to run the tests.
__karma__.start();
答案 1 :(得分:1)
在this的情况下,我意识到我没有在项目中关注以下文件:
我还没有意识到,因为这是一个安装在另一个项目上的项目。这意味着我永远不需要将这个项目作为独立的应用程序运行。
要解决此问题,我要做的是:
ng new my-app
答案 2 :(得分:0)
如果确保您的路径中有spec.ts文件,这是我在karma.config和我的文件之间看到的唯一区别:
frameworks: ['jasmine', '@angular-devkit/build-angular'],
plugins: [
require('karma-jasmine'),
require('karma-chrome-launcher'),
require('karma-jasmine-html-reporter'),
require('karma-coverage-istanbul-reporter'),
require('@angular-devkit/build-angular/plugins/karma')
],
我查看这个问题之前,我根本没有files:
,因此您也可以尝试删除它。
答案 3 :(得分:0)
这种情况发生在我的单元测试中,实际上是我曾经进行过的单元测试之一
从'@ angular / compiler / src / core'导入{NO_ERRORS_SCHEMA};
我替换为
从'@ angular / core'导入{NO_ERRORS_SCHEMA};