Spyn
Safe and minimal spying tool for testing purposes.
Installation
npm install spyn --save-dev
Reference
Spy
Takes a function and returns a function that is being spied on.
const spiedFn = spy(sum)
spiedFn(1, 2)
There is also a optional configuration object which allows you to define what
function call properties are stored in the calls array. By default it stores
arguments and return values.
const spiedFn = spy(sum, {arguments: false, this: true})
spiedFn.call('thiz', 'a', 'b')
calls(spiedFn)
Calls
Takes a spy function and returns an array containing information of each call
const spiedFn = spy(multiply)
spiedFn(1,2)
calls(spiedFn)
Original
Returns the original function of the spy.
const spiedFn = spy(divide)
spiedFn === divide
original(spiedFn) === divide
Usage
Spies tend to be used only in tests. They allow you to observe and automate the
checking of function calls.
It is good practice to remove a spy when the test has completed. This prevents
edge cases.
Tests
npm install && npm test
Example