If I write an asynchronous test using Mocha, all I need to do is to specify the done parameter on the test function:
test(\'foo\', function (done) {...});
It uses the .length property on the test function.
.length
To illustrate, try this in the Node REPL:
> (function() {}).length 0 > (function(done) {}).length 1
Here's the actual line in the source where this check happens:
this.async = fn && fn.length;