伊斯坦布尔代码覆盖范围

时间:2016-04-13 18:42:25

标签: reactjs mocha istanbul

我有一个React项目,其中包含用Mocha编写的测试。伊斯坦布尔用于获得测试覆盖率。

我在名为lib的文件夹中有4个反应组件,在test文件夹中,我只为2个组件编写了测试。当伊斯坦布尔报告覆盖范围时,它表示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

我在这里做错了什么?任何指导都会有所帮助。感谢。

1 个答案:

答案 0 :(得分:1)

潜在的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"