2

我正在尝试获取我的 node.js 项目的代码覆盖率。为此,我正在使用摩卡咖啡和伊斯坦布尔。但我得到 0 通过伊斯坦布尔:没有收集到覆盖信息,退出而不写覆盖信息摩卡和伊斯坦布尔安装在本地。package.json 中的脚本看起来像

"scripts": {
    "test": "node_modules/.bin/mocha",
    "test:coverage": "./node_modules/.bin/babel-istanbul cover ./node_modules/.bin/_mocha"
  }

文件夹结构看起来像-----Project ----node_modules ---test --unit -01test1.tes.js -02test2.test.js

我的 .istanbul.yml 文件

verbose: false
instrumentation:
    root: ./node_modules/.bin/istanbul
    default-excludes: true
    excludes: []
    embed-source: false
    variable: __coverage__
    compact: true
    preserve-comments: false
    complete-copy: false
    save-baseline: false
    baseline-file: ./coverage/coverage-baseline.json
reporting:
    print: summary
    reports:
        - lcov
    dir: ./coverage
    watermarks:
        statements: [50, 80]
        lines: [50, 80]
        functions: [50, 80]
        branches: [50, 80]
hooks:
    hook-run-in-context: false
    post-require-hook: null

我正在运行

npm 运行测试:覆盖

在终端(mac OSX)中。我对此相当陌生,因此非常欢迎任何输入。请帮帮我,我已经花了一整天的时间。

4

2 回答 2

0

我在这里回答

我使用了babel-node模块,它适用于我。我正在使用以下命令。

babel-node node_modules/.bin/babel-istanbul cover _mocha -- --recursive tests/test.*.js --exit
于 2018-06-01T22:43:17.943 回答
0

您可以尝试一下default-excludes: false,因为您的测试似乎在 node_modules 下吗?

于 2017-06-16T07:07:33.110 回答