Awesome
<a name="top"></a>
must-sinon adds SinonJS related assertion matchers to Must.js.
<a name="requirements"></a>
Requirements
The current version of must-sinon requires Must.js 0.13.0
and SinonJS 1.15.0
.
must-sinon | Requires<br>Must.js | Requires<br>SinonJS |
---|---|---|
1.x.x | ^0.13.0 | ^1.15.0 |
<a name="installation"></a>
Installation
must-sinon will be available soon on npm.
npm install --save-dev must-sinon
<a name="usage"></a>
Usage
var must = require('must');
var mustSinon = require('must-sinon');
mustSinon(must);
<a name="matchers"></a>
Assertion Matchers
must-sinon adds the following assertion matchers to Must.js.
Matcher | Usage |
---|---|
spy | spy.must.be.a.spy() |
stub | stub.must.be.a.stub() |
called | spy.must.have.been.called() |
calledOnce | spy.must.have.been.calledOnce() |
calledTwice | spy.must.have.been.calledTwice() |
calledThrice | spy.must.have.been.calledThrice() |
calledCount | spy.must.have.calledCount(3) |
calledBefore | spy1.must.have.been.calledBefore(spy2) |
calledAfter | spy2.must.have.been.calledBefore(spy1) |
calledOn | instance.spy.must.have.been.calledOn(instance) |
calledWith | spy.must.have.been.calledWith(1, 2) |
calledWithExactly | spy.must.have.been.calledWithExactly(1, 2, 3) |
calledWithNew | Constructor.must.have.been.calledWithNew() |
returned | stub.must.have.returned('OK') |
<a name="properties"></a>
Chainable Properties
must-sinon adds the following chainable properties to Must.js.
Helper | Type | Usage |
---|---|---|
been | Passthrough | spy.must.have.been.called() |
never | Passthrough Negator | spy.must.have.never.been.called() |
always | Passthrough Modifier | spy.must.have.always.been.calledWith(1, 2) <br>spy.must.have.always.been.calledWithExactly(1, 2) <br>spy.must.have.always.been.calledOn(1, 2) <br>spy.must.have.always.been.calledWithNew(1, 2) <br>spy.must.have.always.returned(1) |
<a name="unit-testing"></a>
Unit Testing
To run unit tests simply:
git clone https://github.com/JohnnyEstilles/must-sinon.git
cd must-sinon
npm install
npm test
<a name="license"></a>
License
must-sinon is free and open source under the AGPL-3.0 License.
Copyright (c) 2015 Johnny Estilles, http://www.agentia.asia
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see http://www.gnu.org/licenses/.