@cloudcmd/stub
v4.0.1
Published
simplest sinon.stub alternative with diff support
Downloads
2,973
Maintainers
Readme
Stub

Simplest sinon.stub() alternative. With support of showing diff on calleddWith.
Install
npm i @cloudcmd/stubAPI
stub([impl])
impl- stub implementation
const stub = require('@cloudcmd/stub');
const fn = stub();
// fn contains stubbed function
const asyncFn = stub(async () => {
throw Error('hi');
});
// asyncFn contains stub async functionstub().returns([value])
const fn = stub().returns('hello');
fn();
// returns
'hello';stub().throws([error])
const fn = stub().throws(Error('hello'));
fn();
// throws
Error('hello');stub().rejects([error])
const fn = stub().rejects(Error('hello'));
await fn();
// rejects
Error('hello');stub().resolves([values])
const fn = stub().resolves('hello');
await fn();
// resolves
'hello';stub().calledWith([args])
const fn = stub();
fn('hello', 'world');
fn.calledWith('hello', 'world');
// returns truestub().calledWithNew()
const fn = stub();
new fn();
fn.calledWithNew();
// returns
true;stub().calledBefore(fn)
const fn1 = stub();
const fn2 = stub();
fn1();
fn2();
fn1.calledBefore(fn2);
// returns
true;stub().calledAfter(fn)
const fn1 = stub();
const fn2 = stub();
fn1();
fn2();
fn2.calledAfter(fn1);
// returns
true;stub().called
const fn = stub();
fn.called;
// returns
false;
fn();
fn.called;
// returns
true;stub().callCount
const fn = stub();
fn.callCount;
// returns
0;
fn();
fn.callCount;
// returns
1;stub().args
const fn = stub();
fn.args;
// returns
[];
fn(1);
fn.args;
// returns
[[1]];stub().callId
Each stub has it callId, which can be used to determine order of stub calls:
const fn1 = stub();
const fn2 = stub();
fn1();
fn2();
fn1.callId;
// returns
1;
fn2.callId;
// returns
2;isStub(fn)
Check if provided function is stub.
const {stub, isStub} = require('@cloudcmd/stub');
const fn = stub();
isStub(fn);
// returns
true;
isStub(() => {});
// returns
false;Related
- sinon-called-with-diff - sinon
calledWithdiff - try-to-tape -
try catchfor async tape tests - try-catch - functional try-catch wrapper.
- try-to-catch - functional try-catch wrapper for promises.
License
MIT
