伊斯坦布尔代码覆盖率
Istanbul Code Coverage
我有一个 React 项目,其中包含用 Mocha 编写的测试。伊斯坦布尔用于获取测试覆盖率。
我在名为 lib
的文件夹中有 4 个 React 组件,而在 test
文件夹中,我只为其中的 2 个组件编写了测试。当 Istanbul 报告覆盖率时,它说是 100%,但显然该项目不是 100%,因为有些组件未经测试。如何获取 lib
文件夹中组件的正确覆盖率报告?
我的.istanbul.yml
看起来像这样
instrumentation:
root: ./lib
extensions: ['.js', '.jsx']
reporting:
print: summary
reports:
- lcov
dir: ./coverag
package.json
中的脚本如下所示
"code_cov": "babel-node ./node_modules/istanbul/lib/cli.js cover node_modules/mocha/bin/_mocha -- ./test/**/*.spec.js"
文件夹结构如下所示
/
/lib
- Component1.jsx
- Component2.jsx
- Component3.jsx
- Component4.jsx
/test
- Component1.spec.js
- Component2.spec.js
- Component3.spec.js
- Component4.spec.js
.istanbul.yml
package.json
我做错了什么?任何指导都会有所帮助。谢谢。
可能是 duplicate。
解决方案是使用 include-all-sources
添加标志 here。
在你的情况下应该是:
"code_cov": "babel-node ./node_modules/istanbul/lib/cli.js --include-all-sources cover node_modules/mocha/bin/_mocha -- ./test/**/*.spec.js"
我有一个 React 项目,其中包含用 Mocha 编写的测试。伊斯坦布尔用于获取测试覆盖率。
我在名为 lib
的文件夹中有 4 个 React 组件,而在 test
文件夹中,我只为其中的 2 个组件编写了测试。当 Istanbul 报告覆盖率时,它说是 100%,但显然该项目不是 100%,因为有些组件未经测试。如何获取 lib
文件夹中组件的正确覆盖率报告?
我的.istanbul.yml
看起来像这样
instrumentation:
root: ./lib
extensions: ['.js', '.jsx']
reporting:
print: summary
reports:
- lcov
dir: ./coverag
package.json
中的脚本如下所示
"code_cov": "babel-node ./node_modules/istanbul/lib/cli.js cover node_modules/mocha/bin/_mocha -- ./test/**/*.spec.js"
文件夹结构如下所示
/
/lib
- Component1.jsx
- Component2.jsx
- Component3.jsx
- Component4.jsx
/test
- Component1.spec.js
- Component2.spec.js
- Component3.spec.js
- Component4.spec.js
.istanbul.yml
package.json
我做错了什么?任何指导都会有所帮助。谢谢。
可能是 duplicate。
解决方案是使用 include-all-sources
添加标志 here。
在你的情况下应该是:
"code_cov": "babel-node ./node_modules/istanbul/lib/cli.js --include-all-sources cover node_modules/mocha/bin/_mocha -- ./test/**/*.spec.js"