muk

Mock object methods and dependencies.

Usage no npm install needed!

<script type="module">
  import muk from 'https://cdn.skypack.dev/muk';
</script>

README

muk

Build Status Dependency Status codecov

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