Enable support for generators in Mocha with backward compatibility.
It is similar to Co Mocha, but it is a different implementation and more powerful. It is a perfect patch for mocha!
npm install thunk-mocha
Call by mocha in CLI:
mocha -r thunk-mocha
Call in js file:
// make sure that `mocha` have loaded
require('thunk-mocha')()
// or: require('thunk-mocha')(require('mocha'))
After patched, mocha support:
it('support sync test', function () {
// do some test
})
it('support thunk style async test', function (done) {
// do some test
done()
})
it('support promise style async test', function () {
// do some test
return promiseLikeObject
})
it('support generator style async test', function * () {
// do some test
yield promise
// yield thunk
// yield generator
// ...
})
it('support async/await style async test', async function () {
// do some test
await promise
})
it('support Rx.Observable style async test', function () {
// do some test
return Rx.Observable.bindNodeCallback(fs.stat)('package.json')
})