我想让伊斯坦布尔开始工作。
我在伊斯坦布尔的竞选结束时一直收到这样的消息:
未收集覆盖信息,退出时不写入覆盖信息。
我已经尝试了我能在网上找到的一切,正如你所看到的:
"scripts": {
"start": "node ./bin/start.js",
"test": "mocha test --no-timeouts",
"debug_mocha": "node-debug --no-timeouts _mocha",
"eslint": "eslint .",
"jshint": "jshint --exclude ./node_modules .",
"istanbul": "istanbul cover --include-all-sources --hook-run-in-context node_modules/.bin/_mocha -- -u exports -R spec test/**/*",
"istanbul2":"istanbul cover node_modules/.bin/_mocha -- -u exports -R spec test/**/*",
"istanbul1":"istanbul cover node_modules/.bin/_mocha -- test/**/*",
"istanbul0":"istanbul cover _mocha test/**/*.js",
"istanbul3":"istanbul cover _mocha -- -R spec --recursive test"
}我的.istanbul.yml文件位于项目的根部,看起来伊斯坦布尔正在成功地获取它。
//.istanbul.yml
instrumentation:
compact: false
save-baseline: true
reporting:
reports:
- lcov
- cobertura我遗漏了什么?
发布于 2016-02-02 01:13:23
终于明白了。
https://github.com/gotwarlost/istanbul/issues/44#issuecomment-57708358说:
直接使用_mocha在windows上不起作用。请改用JS文件的完整路径。
然后,经过一些试验,胜利:
istanbul cover C:/dev/my_project/node_modules/mocha/bin/_mocha --发布于 2016-02-03 10:23:17
试试这个,梅对你有用。package.json中的脚本标记
"cover" : "NODE_ENV=test babel-node ./node_modules/babel-istanbul/lib/cli cover --dir ./coverage _mocha -- -R spec --ui bdd ./test/setup.js ./test --recursive"setup.js将是您的安装javascript
./test将是所有测试所在的文件夹。
软件包需要安装:
这对我有用:) (npm运行封面)
注意:如果在windows:删除,并且可能需要使_mocha完全路径到节点模块文件夹
发布于 2016-08-04 20:58:41
如果您正在设置一个新项目并试图让伊斯坦布尔工作,请确保至少有一个测试文件引用伊斯坦布尔的至少一个项目文件来引用其覆盖报告。
"istanbul": "0.4.4",
"mocha": "3.0.0"在我的例子中,我设置了一个新项目,并准备了第一个index.js和test/index.spec.js文件。当我试图逃跑时:
"test": "istanbul cover --report html node_modules/mocha/bin/_mocha -- test/**/*.js --ui bdd -R spec"我从mocha获得了所有单元测试通过的输出(还没有编写测试,所以所有的0都通过了),但是在那之后我收到了这个错误:
未收集覆盖信息,退出时不写入覆盖信息。
问题是我还没有在require文件中为index.js文件添加一个test/index.spec.js文件。伊斯坦布尔没有从测试文件中引用的文件来检查覆盖信息。
如果这是在npm脚本中引用到_mocha的一个粘贴问题,那么在“未收集覆盖信息被收集”消息之后将有一个附加的"SyntaxError:“消息。
https://stackoverflow.com/questions/30770544
复制相似问题