Let's say your project has the following structure:
my_project
|-- lib
| |-- server
| | +-- foo
| | +-- MyModule.js
| +-- ui
| +-- bar
| +-- AnotherModule.js
+-- test
|-- server
| +-- foo
| +-- MyModuleTest.js
+-- ui
+-- bar
+-- AnotherModuleTest.js
nodeunit won't descend through the directory to find your tests[1]. How dull. Instead you need an aggregator file to manually pull in your tests or some other workaround, the maintenance of which is tedious.
- Add to the
devDependencies
section of yourpackage.json
file and runnpm install
. - Create a file
suite.js
undertest
that contains:
module.exports = require("testsuite")(__dirname);
Then you can run your whole suite with:
$ nodeunit test/suite.js
That's all there is to it.
[1] There's this but I don't think it's getting merged any time soon.