mini-unit

xUnit style test cases, suites, and runner for Node's assert module.

npm install mini-unit
1 downloads in the last day
1 downloads in the last week
2 downloads in the last month

MiniUnit

xUnit style test cases, suites, and runner for Node's assert module. Inspired by Ruby's MiniTest::Unit.

MiniUnit is only intended to help you structure your tests, it is expected you'll be using it with the Node.js assert module for assertions.

Usage

// require MiniUnit and Node's assert module
var MiniUnit = require("mini-unit");
var assert = require("assert");

// require the module under test
var MyModule = require("./../lib/my-module");

// create and name a test case
var tc = new MiniUnit.TestCase("MyModule");

// run before each test
tc.setup = function () {
    this.adder = new MyModule.adder();
};

// run after each test
tc.teardown = function () {
    this.adder.reset();
};

// test methods must be named 'test' followed by at least one character.
tc.testAddition = function () {
    var a = 2,
        b = 2,
        result,

    result = this.adder.add(a, b)

    assert.equal(result, 4);
};

// if the file being run is the current file, then run the tests, otherwise
// export the test case
if (require.main === module) {
    MiniUnit.run(tc);
} else {
    module.exports = tc;
}

Running a suite of test cases

var MiniUnit = require("mini-unit");
var testCases = [
    "./foo",
    "./bar"
].map(function (path) {
    return require(path);
});

MiniUnit.runSuit(testCases);
npm loves you