首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >摩卡测试的伊斯坦布尔代码覆盖率

摩卡测试的伊斯坦布尔代码覆盖率
EN

Stack Overflow用户
提问于 2015-06-11 02:28:24
回答 3查看 4.5K关注 0票数 15

我想让伊斯坦布尔开始工作。

我在伊斯坦布尔的竞选结束时一直收到这样的消息:

未收集覆盖信息,退出时不写入覆盖信息。

我已经尝试了我能在网上找到的一切,正如你所看到的:

代码语言:javascript
复制
      "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文件位于项目的根部,看起来伊斯坦布尔正在成功地获取它。

代码语言:javascript
复制
//.istanbul.yml
    instrumentation:
      compact: false
      save-baseline: true
    reporting:
      reports:
        - lcov
        - cobertura

我遗漏了什么?

EN

回答 3

Stack Overflow用户

发布于 2016-02-02 01:13:23

终于明白了。

https://github.com/gotwarlost/istanbul/issues/44#issuecomment-57708358说:

直接使用_mocha在windows上不起作用。请改用JS文件的完整路径。

然后,经过一些试验,胜利:

代码语言:javascript
复制
istanbul cover C:/dev/my_project/node_modules/mocha/bin/_mocha --
票数 7
EN

Stack Overflow用户

发布于 2016-02-03 10:23:17

试试这个,梅对你有用。package.json中的脚本标记

代码语言:javascript
复制
"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完全路径到节点模块文件夹

票数 7
EN

Stack Overflow用户

发布于 2016-08-04 20:58:41

如果您正在设置一个新项目并试图让伊斯坦布尔工作,请确保至少有一个测试文件引用伊斯坦布尔的至少一个项目文件来引用其覆盖报告。

代码语言:javascript
复制
"istanbul": "0.4.4",
   "mocha": "3.0.0"

在我的例子中,我设置了一个新项目,并准备了第一个index.jstest/index.spec.js文件。当我试图逃跑时:

代码语言:javascript
复制
"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:“消息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30770544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档