我正在尝试决定JS测试代码覆盖率工具,但无法清楚地看到它们之间的差异。谷歌的热门歌曲是blanket.js,istanbul-js和JSCover。
任何人都可以提供有关它们与优缺点之间关键差异的任何信息吗?
那里还有其他有用的吗?
答案 0 :(得分:31)
经过一番尝试后,我清楚地发现 istanbul 是将覆盖率分析引入node-js项目的最便捷工具。
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 blanket mocha
成功安装后,只需运行你的mocha测试
./node_modules/.bin/mocha --require blanket --reporter html-cov >coverage.html
不幸的是,如果你想收集覆盖率信息以及收集测试报告,你必须两次调用mocha测试,因为你只能向mocha提供一个报告。
我对 JSCover 一无所知,因为它的安装对我来说很复杂。 对我来说重要的是我不必以root身份安装任何软件包,甚至不需要编译,因为对于其他用户来说,创建开发环境会变得更加复杂。