assertly-sinon
v1.0.1
Published
Assertly add-on for sinon
Downloads
14
Maintainers
Readme
assertly-sinon
An assertly (npm) add-on package for sinon (npm).
If you are using sinon, this module expands Assertly with new words specific to testing spy and spyCall objects created by sinon. For example:
expect(spy).to.always.return(42);
Installation
To install using npm
:
$ npm install assertly-sinon --save-dev
To install using yarn
:
$ yarn add assertly-sinon --dev
Usage
To use this add-on, pass its init()
method to Assert.register()
like so:
const Assert = require('assertly');
const AssertlySinon = require('assertly-sinon');
Assert.register(AssertlySinon.init);
Improved Output (Optional)
By default, spys and spyCalls do not print cleanly using Node.js inspect()
method. To
improve this, you can use prettySpy
:
let spy = AssertlySinon.prettySpy(sinon.spy(object, method));
The prettySpy
method ensures that the spy and any spyCalls it returns from getCall
have a suitable inspect()
method.
API
The sinon
API provides many kinds of helpers for spying and mocking. The API's
provided by this add-on are designed to make BDD-style assertions for sinon's spys
and spyCalls. To make it clear which sinon types work in specific contexts, the
names used for parameters are chosen to convey this as shown below:
spy
- A spy created bysinon.spy()
spyCall
- A call to a spy returned bysinon.spy().getCall()
spyOrCall
- Either aspy
or aspyCall
See these documents for the mapping of the sinon Spy API and Spy Call API.
Assertions
Properties
Modifiers
This add-on adds new modifiers to Assertly.
always
The always
modifier is used by return
and throw
assertions when operating on
a spy.