node package manager
Stop wasting time. Easily manage code sharing in your team. Create a free org »


BusterMove Build Status


Hammer Time

A simple drop-in replacement for Buster in Node.js.

Uses node-tap as the test runner when in Node and tape when used packaged in Browserify (yes, that's right! You can run TAP tests, written in Buster-style, in the browser! That's surely worth an M.C. Hammer dance?).

Supports basic Buster functionality, including Sinon and referee integration and structured test suites:

var buster = require('bustermove')
  , assert = buster.assert // 'referee' is the new name for buster-assert 
  , refute = buster.refute
buster.testCase('My funky tests', {
    'setUp': function (done) {
      // .. some setup stuff, run before each test, including nested tests 
  , 'tearDown': function (done) {
      // .. some teardown stuff, run after each test, including nested tests 
  , 'test something': function (done) {
      // .. whatever you're testing 
      // each of these will be automatically cleaned up after the test is run 
      var spy  = this.spy()
        , stub = this.stub()
        , mock = this.mock()
  , 'nested': {
        'setUp': function (done) {
          // .. run after the parent setUp but before each of the nested tests 
        // tearDown if you like 
      , 'test nested': function (done) {
          // .. something else to test 

You then run the test with either node ./tests.js or if you like, tap *-tests.js as it creates node-tap compatible tests.

Currently only this.spy(), this.stub() and this.mock() are supported in the sandbox but it's possible to make it more complete. Send me a pull request if you need it.


BusterMove is Copyright (c) 2012 Rod Vagg @rvagg and licensed under the MIT licence. All rights not explicitly granted in the MIT license are reserved. See the included LICENSE file for more details.