我正在尝试在我的项目中使用ES6,Webpack 3和Karma(它基于Aurelia Framework)设置代码覆盖率。我使用nyc生成代码覆盖率,但似乎无法正常工作。我只能看到几个文件的代码覆盖率:
通常我会通过命令npm test
运行单元测试,并尝试通过命令npm run test-cov
运行覆盖。这些命令如下所示:
`"test": "cross-env NODE_ENV=test karma start",
"test-cov": "cross-env NODE_ENV=test nyc karma start karma.conf.js"
`
我添加了karma.conf.js
所需的代码:
`preprocessors: {
'build/bundle.js': ['webpack'],
'test/**/*.js': ['webpack'],
'src/**/*.js': ['coverage']
}`
和
`reporters: ['progress', 'coverage']`
我也使用istanbul
插件,我在webpack配置文件中初始化它,如下所示:
`{
test: /\.js$/,
loader: 'babel-loader',
exclude: [
/node_modules/,
/src\/app-config/
],
options: {
babelrc: false,
presets: [
['es2015', { loose: true }],
'stage-1'
],
env: {
test: {
plugins: ['istanbul']
}
},
plugins: [
'transform-decorators-legacy',
'transform-runtime'
]
}
}`
我在这个问题上花了很多时间,我不知道下一步该做什么。我会感激任何帮助。非常感谢你!