0.0.11 • Published 9 years ago

browserify-mockify v0.0.11

Weekly downloads
4
License
MIT
Repository
github
Last release
9 years ago

mockify

Allows you to mock browserify modules for unit tests. If you transform your unit tests with browserify, you may need to mock certain modules (this helps with code coverage too).

Installation

npm install browserify-mockify

Usage

Browserify

In your browserify task, add

var mockify = require('browserify-mockify');

var b = browserify();

b.transform(mockify.transform());

If you have any other transforms, pass each transform you use as arguments into mockify.transform. For example, if you were to use reactify -

b.transform(reactify);
b.transform(mockify.transform(reactify));

Your Test Code

Registering mocks

Using mockify.mock allows you to mock the modules you need. The first parameter should be the path relative to the module you are going to require (it should match the require path in the required module).

The second parameter can be whatever - this is what is returned instead of the actual module.

mockify.mock('./moduleB', {
	hello: function () {

	}
});

Requiring modules

Replace any require calls that contains modules that you want to mock with mockify calls instead.

For example,

var module = require('./module');

Would become

var module = mockify('./module');

The required module

Your module.js file should look like

var moduleB = require('./moduleB');

When you run this normally in browserify, you will get moduleB returned. However, as you've defined a moduleB mock above, the object is returned when you run it in your tests.