Blanket.js vs Istanbul-js vs JSCover

时间:2015-08-17 03:02:56

标签: javascript testing istanbul blanket.js

我正在尝试决定JS测试代码覆盖率工具,但无法清楚地看到它们之间的差异。谷歌的热门歌曲是blanket.js,istanbul-js和JSCover。

任何人都可以提供有关它们与优缺点之间关键差异的任何信息吗?

那里还有其他有用的吗?

1 个答案:

答案 0 :(得分:31)

经过一番尝试后,我清楚地发现 istanbul 是将覆盖率分析引入node-js项目的最便捷工具。

  • 使用 npm install
  • 安装
  • 它通过 .istanbul.yml
  • 设置其行为
  • 由其自己的可执行文件
  • 调用
  • 它提供多种报告格式,如clover,lcov,jscoverage等。

Istanbul 使用提供的可执行文件或js-script来执行测试并收集覆盖率信息。它可以通过 npm

安装
npm install istanbul mocha
成功安装后

只需通过

调用它
./node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha

尊重'_',因为mocha分配了_mocha - 可执行文件here

blanket.js for nodejs可以轻松集成

  • 使用 npm install
  • 安装
  • 通过 package.json
  • 配置其行为
  • 通过 mocha 调用 命令行
  • 生成由 mocha 的记者解释的统计信息,即 html-cov
  • 可以在浏览器JS中使用

基本上它可以在做完

之后使用
npm install blanket mocha

成功安装后,只需运行你的mocha测试

./node_modules/.bin/mocha --require blanket --reporter html-cov >coverage.html

不幸的是,如果你想收集覆盖率信息以及收集测试报告,你必须两次调用mocha测试,因为你只能向mocha提供一个报告。

我对 JSCover 一无所知,因为它的安装对我来说很复杂。 对我来说重要的是我不必以root身份安装任何软件包,甚至不需要编译,因为对于其他用户来说,创建开发环境会变得更加复杂。