muk-require
Version:
Mock dependencies.
72 lines (51 loc) • 1.39 kB
Markdown
[](http://travis-ci.org/fent/node-muk-require)
[](https://david-dm.org/fent/node-muk-require)
[](https://codecov.io/gh/fent/node-muk-require)

Mock dependencies.
**foo.js**
```js
const request = require('request');
module.exports = (url) => {
// Do something with request.
};
```
**test.js**
```js
const request = require('request')
const mockedRequest = (url, options, callback) => {
// Log all requests.
console.log('Request made:', url);
request(url, options, callback)
};
const foo = muk('./foo', {
// Will overwrite all requires of "request" with our own version.
request: mockedRequest
});
```
You can also mock modules required with a relative path.
**some/where/else/foo.js**
```js
const bar = require('./bar');
module.exports = () => {
// Do something with bar.
};
```
**some/where/else/bar.js**
```js
exports.attack = 'sludge attack!';
```
**test.js**
```js
const muk = require('muk-require');
const foo = muk('./some/where/else/foo', { './bar': 'hey!!' });
```
npm install muk-require
Tests are written with [mocha](https://mochajs.org)
```bash
npm test
```