silencer
v0.0.2
Published
Mock and capture method calls
Downloads
11
Readme
Silencer
Npm package to mock methods in object and capture all call parameters
Install
npm install silencer --save-dev
Api
reset
- completly reset silencer to original staterestore
- restore mocked methods but keep output traces for each methods. Use it immediately after mocking to restore functions and then analyse resultsoff
alias for restoreon(subject)
- set parameter as subject and disable all methodsdisable()
,disable('one', 'two')
,disable(['one','two'])
- disable one or all methodssetSubject
- set subject to be mocked, by default it is console.getOutput(method)
- get traces for specified methodgetOutpus
- get traces for all methods as object with name-array values
Usage
var silencer = require('silencer');
Disable console log outputs
silencer.reset();
silencer.disable('log');
console.log('one');
console.log('two');
silencer.restore(); // restore methods, keep traces
silencer.getOutput('log') // == [['one'], ['two']]
Disable all console methods
silencer.reset();
silencer.disable();
console.log('one');
console.info('three');
silencer.restore();
silencer.getOutput('log') // == [['one']]
silencer.getOutput('info') // == [['three']]
Use for mocking other objects
let mockObject = {
test: function(){ throw Error('service not available') }
}
silencer.reset();
silencer.setSubject(mockObject);
silencer.disable();
mockObject.test(); // no error thrown
silencer.restore();
//
silencer.getOutput('test'); // == [[]] mean called once without parameters
On off
silencer.on(console);
// use
console.log('one');
console.info('three');
// off
silencer.off();
// get results if needed
silencer.getOutput('log') // == [['one']]
silencer.getOutput('info') // == [['three']]
Licence
MIT, Do whatever you want