Istanbul and JSCoverage-style instrumentation for CoffeeScript files.
Instruments CoffeeScript files for code coverage. Compiles .coffee files to .js files, and adds JSCoverage or Istanbul style instrumentation for the original coffee script source.
- Native coffeescript instrumentation - not based on source maps
- Conditional instrumentation with pragmas
- Support for nyc style instrumentation
- Support for Istanbul style instrumentation
- Support for JSCoverage style instrumentation
- Support for Streamline compiler style instrumentation
- Dynamic instrumentation - instrument your code at run time
- Precompiled instrumentation
Assuming you have a folder named "test" full of mocha tests, which directly loads your .coffee files, then from your project's folder, run:
npm install --save-dev @danielx/coffeecoverage
npm install --save-dev istanbul
mocha --recursive --compilers coffee:coffeescript/register --require @danielx/coffeecoverage/register-istanbul test
./node_modules/.bin/istanbul report
You should now have an Istanbul coverage report in ./coverage/lcov-report/index.html.
If this doesn't quite do what you're after, check out our tutorials below:
- Mocha and Istanbul Guide
- Mocha and JSCoverage Guide
- Istanbul and Tape Guide courtesy @jessaustin.
- Codeship and Coveralls
- Travis-CI and Coveralls
- Ignoring code with Pragmas
Have CoffeeCoverage working in a setup not described above? Raise an issue and let us know how you're using CoffeeCoverage, so we can document it here.
CoffeeCoverage is a tool for determining the coverage of your unit tests. It does this by instrumenting .coffee files to see how often each line, branch, or function is executed. CoffeeCoverage is capable of producing both Istanbul and JSCoverage style instrumentation.