mocha integration for sinon
Integration between mocha and sinon, allowing for automatic cleanup of spies
$ npm install --save-dev mocha-sinon
Require it somewhere in your spec helper file (easier, better)
or, on your command line calling mocha:
$ mocha -R mocha-sinon testjs
For background, please see issue #1 on this project.
If you use mocha's flakey watch flag, there is experimental support for it. Note that the first method of requiring the mocha-sinon is the best way to do it.
You can put the following block in your spec helper and it might work:
Note that the difference between this method and the first method is that this is calling mocha-sinon's exported function.
Source the mocha-sinon file after you have sourced mocha and sinon, and it will "do the right thing"
Unfortunately, I'm not familiar with requirejs, so mocha-sinon does not yet support requirejs. Pull requests are welcome, though.
var child_process = require'child_process'events = require'events'chai = require'chai'expect = chaiexpect;chaiuserequire'sinon-chai';require'mocha-sinon';describe'a shell command'beforeEachvar fakeChild = thisfakeChild =stdout:;thissinonstubchild_process 'spawn'return fakeChild;;;it'gets called'someFunctionexpectchild_processspawntohavebeencalledWith'/usr/bin/env' 'rm' '-rf' '/';;;;
This module is stupidly simple. You can do it yourself with:
var sinon = require'sinon';beforeEachthissinon = sinonsandboxcreate;;afterEachthissinonrestore;;