Count assertions
While Mocha itself does not provide an assertion layer and cannot provide assertion counting, it’s relatively easy to integrate this behavior using hooks. The following is a simplified version of an assertion counter:
var expected = 0;var actual = 0;
function assert(expr, msg) { if (!expr) throw new Error(msg || 'assertion failed'); actual++;}
function expect(n) { expected = n;}
function reset() { expected = 0; actual = 0;}
function check() { if (!expected || expected == actual) return; var err = new Error('expected ' + expected + ' assertions, got ' + actual); this.currentTest.emit('error', err);}
beforeEach(reset);afterEach(check);
describe('something', function () { it('should work', function (done) { expect(2);
setTimeout(function () { assert('wahoo'); }, 50);
setTimeout(function () { assert('hey'); }, 50);
setTimeout(function () { done(); }, 100); });});