muk
v0.5.3
Published
Mock object methods and dependencies.
Downloads
3,769
Readme
muk
Usage
Mock dependencies.
foo.js
var request = require('request');
module.exports = function foo(url) {
// do something with request
};
test.js
var mockedRequest = function(url, options, callback) {
// mock a request here
};
var foo = muk('./foo', {
request: mockedRequest
});
You can also mock modules required with a relative path.
some/where/else/foo.js
var bar = require('./bar');
module.exports = function() {
// do something with bar
};
some/where/else/bar.js
exports.attack = 'sludge attack!';
test.js
var foo = muk('./some/where/else/foo', { './bar': 'hey!!' });
Comes with object method mocking too.
var fs = require('fs');
var muk = require('muk');
muk(fs, 'readFile', function(path, callback) {
process.nextTick(callback.bind(null, null, 'file contents here'));
});
Check if member has been mocked.
muk.isMocked(fs, 'readFile'); // true
Restore all mocked methods after tests.
muk.restore();
fs.readFile(file, function(err, data) {
// will actually read from `file`
});
Install
npm install muk
Tests
Tests are written with mocha
npm test
License
MIT