Blanket.js vs Istanbul-js vs JSCover

和自甴很熟 提交于 2019-12-20 16:19:04

问题


I am trying to decide on a JS test code coverage tool but cannot see clearly the differences between them. The top hits in Google are blanket.js, istanbul-js and JSCover.

Can anyone offer any information on the key differences between them and advantages/disadvantages?

Are there any other useful ones out there?


回答1:


After some trying around i clearly find istanbul the most convenient tool to bring coverage analysis to a node-js project.

  • its installed with npm install
  • it sets up its behavior via the .istanbul.yml
  • gets invoked by its own executable
  • it provides multiple report formats such as clover, lcov, jscoverage, etc.

Istanbul uses the provided executable or js-script to perform the tests and collect coverage information. It can be installed via npm:

npm install istanbul mocha

after successful installation simply invoke it by

./node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha

respect the '_' since mocha forks the _mocha-executable as stated here

blanket.js for nodejs integrates easily by

  • its installed with npm install
  • configuring its behavior via the package.json
  • getting invoked by mocha by requiring blanket at commandline
  • generating statistics that are interpreted by mocha's reporters, i.e. html-cov
  • can be used in browser JS

basically it is ready to use after doing

npm install blanket mocha

after successful installation simply run your mocha tests like that

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

Unfortunately you have to invoke the mocha tests twice if you want to collect coverage information as well as collect test reports since you can only provide one reporter to mocha.

I can not say anything about JSCover since its installation was to complicated for me. Important for me was that i do not have to install any packages as root or even compile things since it becomes more complicated for other users to create a development environment.



来源:https://stackoverflow.com/questions/32042195/blanket-js-vs-istanbul-js-vs-jscover

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!