node-test-helper

1.0.0 • Public • Published

node-test-helper

Test helper suite using Mocha test framework.

Dependencies

Installation

# Local install 
$ npm install node-test-helper
 
# Global install 
$ sudo npm install -g node-test-helper

Initialization

Copy test suite template to current directory.

# Local install 
$ node_modules/.bin/node-test-helper init
 
# Global install 
$ node-test-helper init

The following will be copied to the current working directory:

Makefile
test/
  factories/
  fixtures/
  helpers/
  unit/

Writing Tests

//-- test/unit/sample.test.js
require("node-test-helper");
 
describe(TEST_NAME, function() {
  describe("without callback", function() {
    //-- sync
    it("should be successful", function() {
    });
  });
 
  describe("with callback", function() {
    //-- async
    it("should be successful", function(done) {
      done();
    });
  });
});

Execute sample test

$ make test

  sample
    without callback
      ✓ should be successful
    with callback
      ✓ should be successful

  2 passing

Test Execution

Tests are executed using make command. The script will look for tests under test/unit/ directory.

# Run all tests 
$ make test
 
# Run tests under a specific directory 
# This will run all tests under test/unit/controllers directory 
$ make test controllers
 
# This will run tests under test/unit/controllers and test/unit/models directories 
$ make test controllers models
 
# Run a specific test file 
# This will run tests in test/unit/utils/sample.test.js file 
$ make test utils/sample.test

Mocha Options

Mocha options can be passed as parameter to make. By default, mocha is being executed using the ff. options:

# recursive with 30 second timeout using spec reporter 
$ mocha --recursive -t 30000 -R spec

Use MOCHA_OPTS commandline variable to pass specific mocha options to make.

# Dot format without colors. Useful for test execution on CI servers such as Jenkins. 
$ make MOCHA_OPTS='-C -R dot' test

Helpers

Custom Helpers

You can write your own test helpers or node modules and save it under test/helpers/ directory. Use the built-in requireHelper() function to load your custom helper.

//-- test/unit/sample.test.js
require("node-test-helper");
 
describe(TEST_NAME, function() {
  it("should load my custom helper", function() {
    var my_helper = requireHelper("my_helper");
    expect(my_helper).to.exist;
  });
});

If you need to do some initialization prior to all your tests execution, you can put them inside test/helpers/bootstrap.js file. This file will be loaded automatically upon test execution.

//-- test/helpers/bootstrap.js
//-- global variables can also be initialized here...
 
before(function(done) {
  //-- anything to run or initialize before running all tests...
 
  done();
});

Package Sidebar

Install

npm i node-test-helper

Weekly Downloads

550

Version

1.0.0

License

ISC

Last publish

Collaborators

  • zand3rs