Node.js unit testing [closed] Node.js unit testing [closed] javascript javascript

Node.js unit testing [closed]


I ended up using Nodeunit and am really happy with it.

I was using Expresso originally, but the fact that it runs tests in parallel caused a few problems. (For example, using database fixtures doesn't work well in this situation.)


I was also looking for a decent test framework for node and found Mocha. It is the official successor to Expresso and seems very mature.

It allows to plug-in different assertion libraries, it offers reporters for code coverage and other things (you can plug-in your own). It can run synchronously or asynchronously and it has a concise API.

I will give it a try and report back...

EDIT:

After an incredible amount of time dedicated to other projects I finally came back to a JavaScript project and had time to play around with mocha. I can seriously recommend using it. The tests read very nicely, integration with Gulp.js is great and tests run very fast. I was able to setup automatic standalone as well as in-browser (Browserify) test runs and corresponding code coverage reports in about half a day (most of the time spent on understanding how to use Browserify from Gulp.js). To me, Mocha seems a very good choice for a testing framework.

UPDATE:

I am still very convinced about Mocha. Integration with Chai allows to plugin different assertion styles. You can checkout a working setup in this GitHub project. I am using it with karma now, integrating code coverage report, automatic watchers and good integration with IntelliJ IDEA.


Personally I've stuck with Expresso, but there are a bunch of different frameworks out there, accommodating most testing styles.

Joyent has an extensive list; give that a go.