thunk-mocha

Enable support for generators in Mocha with backward compatibility.

Usage no npm install needed!

<script type="module">
  import thunkMocha from 'https://cdn.skypack.dev/thunk-mocha';
</script>

README

thunk-mocha

Enable support for generators in Mocha with backward compatibility.

NPM version Build Status Downloads

It is similar to Co Mocha, but it is a different implementation and more powerful. It is a perfect patch for mocha!

Installation

npm install thunk-mocha

Usage

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'))

Example

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')
})