Sve*_*ven 6 karma-runner webpack karma-coverage
我正在尝试使用覆盖(使用karma-coverage)和webpack(使用karma-webpack)运行单元测试.测试运行正常,但生成一个覆盖报告实际的源文件(未测试)需要通过加载并通过coverage和webpack预处理器.
不幸的是,这失败了以下错误:
ERROR [karma]: { [Error: no such file or directory]
code: 'ENOENT',
errno: 34,
message: 'no such file or directory',
path: '/_karma_webpack_/views/Foo/Foo.js' }
Error: no such file or directory
Run Code Online (Sandbox Code Playgroud)
Foo.js是包含源的文件.目录结构是这样的:
karma.conf.js
- src/
- js/
- views/
- Foo/
- Foo.js
- test/
- FooTest.js
Run Code Online (Sandbox Code Playgroud)
karma.conf.js:
module.exports = function (config) {
config.set({
basePath: 'src/js/',
frameworks: ['jasmine'],
files: [
'**/test/*Test.js',
'**/Foo.js',
],
exclude: [],
preprocessors: {
'**/test/*Test.js': ['webpack'],
'**/Foo.js': ['webpack', 'coverage'],
},
coverageReporter: {
type: 'html',
dir: 'coverage',
},
webpack: {
resolve: {
alias: [
{ _karma_webpack_: 'src/js' },
],
},
},
reporters: ['progress', 'coverage'],
port: 9876,
colors: true,
logLevel: config.LOG_DEBUG,
autoWatch: true,
browsers: ['Chrome'],
singleRun: false,
concurrency: Infinity,
});
};
Run Code Online (Sandbox Code Playgroud)
问题很明显:路径/_karma_webpack_/views/Foo/Foo.js确实不存在.我想这是一些内部路径,但我怎么能改变这个呢?
正如您所看到的,我已经尝试使用webpack resolve选项,但它不起作用.由于错误消息指出ERROR [karma]我也有点担心这个错误可能会有所不同.
此外,我怀疑可能是斑点模式**/Foo.js已关闭,但尝试一些变化(如**/**/Foo.js)也没有帮助.
小智 9
我有同样的问题.事实证明,我需要离开karma_webpack文件夹,而不是
preprocessors: {
'**/test/*Test.js': ['webpack'],
'**/Foo.js': ['webpack', 'coverage'],
},
Run Code Online (Sandbox Code Playgroud)
尝试
preprocessors: {
'../**/test/*Test.js': ['webpack'],
'../**/Foo.js': ['webpack', 'coverage'],
},
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2758 次 |
| 最近记录: |