spyn

0.2.6 • Public • Published

Spyn

Build Status

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) // => 3

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') // => 'ab'

calls(spiedFn) // => [{this: 'thiz', return: 'ab'}]

Calls

Takes a spy function and returns an array containing information of each call

const spiedFn = spy(multiply)

spiedFn(1,2)

calls(spiedFn) // => [{arguments: [1,2], return: 2}]

Original

Returns the original function of the spy.

const spiedFn = spy(divide)

spiedFn === divide // => false

original(spiedFn) === divide // => true

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

Readme

Keywords

Package Sidebar

Install

npm i spyn

Weekly Downloads

4

Version

0.2.6

License

MIT

Unpacked Size

6.34 kB

Total Files

6

Last publish

Collaborators

  • bas080