must-sinon v0.0.0
must-sinon adds SinonJS related assertion matchers to Must.js.
Requirements
The current version of must-sinon requires Must.js 0.13.0 and SinonJS 1.15.0.
| must-sinon | RequiresMust.js | RequiresSinonJS |
|---|---|---|
1.x.x | ^0.13.0 | ^1.15.0 |
Installation
must-sinon will be available soon on npm.
npm install --save-dev must-sinonUsage
var must = require('must');
var mustSinon = require('must-sinon');
mustSinon(must);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') |
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)spy.must.have.always.been.calledWithExactly(1, 2)spy.must.have.always.been.calledOn(1, 2)spy.must.have.always.been.calledWithNew(1, 2)spy.must.have.always.returned(1) |
Unit Testing
To run unit tests simply:
git clone https://github.com/JohnnyEstilles/must-sinon.git
cd must-sinon
npm install
npm testLicense
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/.
10 years ago
