Enable support for generators in Mocha tests(evacuated from NSA/Microsoft Github)

anonymous f14879c604 WIP 1 year ago
debian f14879c604 WIP 1 year ago
lib affd30e105 Remove `path` usage (#37) 3 years ago
old f14879c604 WIP 1 year ago
.gitignore 834a70bde2 update dependencies to latest 5 years ago
.travis.yml f7041feaab Add support for mocha v5 (#48) 2 years ago
LICENSE dc79415cc9 Initial commit. 6 years ago
README.md b1dc16b445 Add Greenkeeper badge 🌴 (#35) 3 years ago
bower.json f14879c604 WIP 1 year ago
co-mocha.js 447719ea99 Generated built file 2 years ago
is-generator.js f14879c604 WIP 1 year ago
package.json f14879c604 WIP 1 year ago
test.js 67737f3211 chore(package): update standard to version 9.0.0 (#32) 3 years ago
testem.json 73e4ce11ab Restrict Testem launchers in CI 5 years ago


Co Mocha

NPM version NPM downloads Build status Test coverage Greenkeeper badge

Enable support for generators in Mocha tests using co.

Use the --harmony-generators flag when running node 0.11.x to access generator functions, or transpile your tests using traceur or regenerator.


npm install co-mocha --save-dev


Just require the module in your tests and start writing generators in your tests.

it('should do something', function * () {
  yield users.load(123)


Install the module using npm install co-mocha --save-dev. Now just require the module to automatically monkey patch any available mocha instances. With mocha, you have multiple ways of requiring the module - add --require co-mocha to your mocha.opts or add require('co-mocha') inside your main test file.

If you need to monkey patch a different mocha instance you can use the library directly:

var mocha = require('mocha')
var coMocha = require('co-mocha')


<script> Tag

<script src="co-mocha.js"></script>

Including the browserified script will automatically patch window.Mocha. Just make sure you include it after mocha.js. If that is not possible the library exposes window.coMocha, which can be used (window.coMocha(window.Mocha)).


Same details as the script, but using AMD requires instead.

How It Works

The module monkey patches the Runnable.prototype.run method of mocha to enable generators. In contrast to other npm packages, co-mocha extends mocha at runtime - allowing you to use any compatible mocha version.