Socket
Socket
Sign inDemoInstall

mock-require

Package Overview
Dependencies
0
Maintainers
1
Versions
17
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    mock-require

Simple, intuitive mocking of Node.js modules.


Version published
Weekly downloads
225K
decreased by-3.58%
Maintainers
1
Install size
8.54 kB
Created
Weekly downloads
 

Readme

Source

#mock-require

####Simple, intuitive mocking of Node.js modules.

Build Status

##About

mock-require is useful if you want to mock require statements in Node.js. I wrote it because I wanted something with a straight-forward API that would let me mock anything, from a single exported function to a standard library.

##Usage

var mock = require('mock-require');

mock('http', { request: function() {
  console.log('http.request called');
}});

var http = require('http');
http.request(); // 'http.request called'

##API

mock(path, mockExport)

path: String

The module you that you want to mock. This is the same string you would pass in if you wanted to require the module.

This path should be relative to the current file, just as it would be if you were to require the module from the current file. mock-require is smart enough to mock this module everywhere it is required, even if it's required from a different file using a different relative path.

mockExport : object/function

The function or object you want to be returned from require, instead of the path module's exports.

mockExport : string

The module you want to be returned from require, instead of the path module's export. This allows you to replace modules with other modules. For example, if you wanted to replace the fs module with the path module (you probably wouldn't, but if you did):

require('fs', 'path');
require('fs') === require('path'); // true

This is useful if you have a mock library that you want to use in multiple places. For example:

test/spy.js:

module.exports = function() {
    return 'this was mocked';
};

test/a_spec.js:

var mock = require('mock-require');
mock('../some/dependency', './spy');
...

test/b_spec.js:

var mock = require('mock-require');
mock('../some/other/dependency', './spy');
...

mock.stop(path)

path: String

The module you that you want to stop mocking. This is the same string you would pass in if you wanted to require the module.

This will only modify variables used after mock.stop is called. For example:

var mock = require('mock-require');
mock('fs', { mockedFS: true });

var fs1 = require('fs');

mock.stop('fs');

var fs2 = require('fs');

fs1 === fs2; // false

##Test npm test

Keywords

FAQs

Last updated on 03 Oct 2014

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc