Το sinon-chai συνδυάζει τους μηχανισμούς κατασκοπείας του Sinon.js με τα εκφραστικά στυλ expect και should του Chai.
Εγκατάσταση και Εκκίνηση
var sinon = require('sinon')
require('chai').use(require('sinon-chai'))
Ισχυρισμοί στυλ 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)
Ισχυρισμοί στυλ 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)