我试图将代码覆盖率添加到从ES2015转换而来的现有库中。我好像做得对。我的makefile读取
test: .FORCE
export NODE_ENV=test
babel *.js --out-dir lib
nyc mocha
我的babelrc读取
{
"presets": ["es2015"],
"sourceMaps": true,
"env": {
"test": { "plugins": ["istanbul"] }
}
}
虽然我的package.json包含
"nyc": {
"include": [
"**/*.js"
],
"require": [
"babel-register"
],
"sourceMap": false,
"instrument": false
}
然而,在我的测试运行之后,输出只是显示:
----------|----------|----------|----------|----------|----------------|
File | % Stmts | % Branch | % Funcs | % Lines |Uncovered Lines |
----------|----------|----------|----------|----------|----------------|
All files | Unknown | Unknown | Unknown | Unknown | |
----------|----------|----------|----------|----------|----------------|
我已经尝试了babel-node
,babel-istanbul
和nyc
的各种组合,以及各种包含指令,而且我从来没有这样做过。即使使用--include-all-sources
,也可以报告覆盖率为0%的文件。是什么赋予了?我错过了什么?
答案 0 :(得分:1)
您需要检测正在转换的代码。使用这个babel插件:https://github.com/istanbuljs/babel-plugin-istanbul
您使用babel-istanbul
的套餐是一个用于替换巴贝尔的套餐。