sinon-chai estende la libreria Chai con asserzioni naturali e fluide per spy e stub di Sinon.js.
Configurazione e inizializzazione
var sinon = require('sinon')
require('chai').use(require('sinon-chai'))
Asserzioni in stile Expect
expect(spy).called
expect(spy).calledOnce
expect(spy).calledTwice
expect(spy).calledThrice
expect(spy).calledBefore(otherSpy)
expect(spy).calledAfter(otherSpy)
expect(spy).calledWithNew
expect(spy).alwaysCalledWithNew
expect(spy).calledOn(context)
expect(spy).alwaysCalledOn(context)
expect(spy).calledWith(...args)
expect(spy).alwaysCalledWith(...args)
expect(spy).calledWithExactly(...args)
expect(spy).alwaysCalledWithExactly(...args)
expect(spy).calledWithMatch(matcher)
expect(spy).alwaysCalledWithMatch(matcher)
expect(spy).returned(returnValue)
expect(spy).alwaysReturned(returnValue)
expect(spy).threw(errorOrType)
expect(spy).alwaysThrew(errorOrType)
Asserzioni in stile Should
spy.should.have.been.called
spy.should.have.been.calledOnce
spy.should.have.been.calledTwice
spy.should.have.been.calledThrice
spy1.should.have.been.calledBefore(spy2)
spy1.should.have.been.calledAfter(spy2)
spy.should.have.been.calledWithNew
spy.should.always.have.been.calledWithNew
spy.should.have.been.calledOn(context)
spy.should.always.have.been.calledOn(context)
spy.should.have.been.calledWith(...args)
spy.should.always.have.been.calledWith(...args)
spy.should.have.been.calledWithExactly(...args)
spy.should.always.have.been.calledWithExactly(...args)
spy.should.have.been.calledWithMatch(matcher)
spy.should.always.have.been.calledWithMatch(matcher)
spy.should.have.returned(returnVal)
spy.should.have.always.returned(returnVal)
spy.should.have.thrown(errorObjOrString)
spy.should.have.always.thrown(errorObjOrString)