Skip to content

lloyd/ass

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Build Status

![What kind of ass?](donkey.png)

Ass: Cross Process Code Coverage

ass is a small node.js code coverage library with the following features:

  • dynamic instrumentation: code is instrumented on the fly
  • minimal setup: get code coverage reports with minimal impact on your project
  • multiple process support: coverage data from multiple processes is aggregated into a single report
  • different report formats: basic reporting functionality built in

Theory

The philosophy behind ass is that implementing code coverage should be a trivial process. That no pre or post processing should be required. That the code coverage library should itself handle reporting (not require support from your test framework). And finally, that code coverage data should be programatically accessible.

Practice

To get started with ass, first install it:

npm install --save-dev ass

Then instrument processes that are run by your test harness by adding a single "stub" file (say your original server was in server.js, let's assume you name the stub stub.js):

require('ass');
require('./server.js');

Finally, you can enable testing in your test harness programatically:

var ass = require('ass').enable();

// .. run all of your tests, spawning instrumented processes

ass.report('html', function(err, report) {
  require('fs').writeFileSync('coverage.html', report);
});

Example

A full example of code coverage is available:

$ git clone git://github.com/lloyd/ass
$ cd ass/example
$ npm install
$ npm test
$ open coverage.html

License

MIT

Credits

The infamous Zach Carter created our fantastic logo.

The design of the html reporter was lifted from TJ Holowaychuk's fantastic mocha test framework.

About

A node.js code coverage library which aggregates stats cross process.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •