xUnit style test cases, suites, and runner for Node's assert module.
JavaScript
Switch branches/tags
Nothing to show
Latest commit d455b6c Feb 12, 2012 @matsadler first commit
Permalink
Failed to load latest commit information.
lib
index.js
package.json
readme.md

readme.md

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);