bustermove v1.0.1
BusterMove
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
done()
}
, 'tearDown': function (done) {
// .. some teardown stuff, run after each test, including nested tests
done()
}
, '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()
done()
}
, 'nested': {
'setUp': function (done) {
// .. run after the parent setUp but before each of the nested tests
done()
}
// tearDown if you like
, 'test nested': function (done) {
// .. something else to test
done()
}
}
})
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.
Licence
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.