Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

muk

fent1.9kMIT0.5.3

Mock object methods and dependencies.

test, mock, dependency

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

changelog

0.5.1 / 2016-06-12

  • fix: should check process.env
  • fix: can't redefine process.env when node<4

0.5.0 / 2016-06-11

  • feat: add isMocked method to check if the member of the object is mocked

0.4.0 / 2015-09-17

  • Support mocking accessor descriptor