Mocha styled tape with sinon
$ npm install --save-dev macchiato
$ npm install -g macchiato
Each of the test contexts have various assert methods added to them which call
the hood for ease of use. In addition to this each of the test contexts are instanciated sinon sandbox's!
var describe = require'macchiato'options// orvar describe = require'macchiato'
Once you've written your tests you can run them like this:
$ macchiato [-options] test/*.js# or$ node test/my-file.js [-options]
describe'my test'beforeEach// sinon is baked in to the test context// and passed into all `beforeEach` and// `afterEach` callbacks. All spys/stubs// are restored after each test.thismyStub = thisstubit'should do amazing things'// the test context can be accessed as the first// arguments to the test callbacktequals'tape assertions are also baked into the framework' truetendit'should do another thing'// the test context is also `this` in the test callbackthis.asserttrue 'this test is asserting something'thisdone
describe'my test'describebeforeEach// sinon is baked in to the test context// and passed into all `beforeEach` and// `afterEach` callbacks. All spys/stubs// are restored after each test.thismyStub = thisstubdescribeit'should do amazing things'// the test context can be accessed as the first// arguments to the test callbacktequals'assertions are also baked into the framework' truetenddescribe'my subtest'descibeit'should do something interesting'// the test context is also `this` in the test callbackthis.asserttrue 'this test is asserting something'thisdone
The original version of
macchiato was build ontop of the testing framework Tape.
This is undoubtable an awesome testing framework, the problem was that when changes were
needed to tweak the inner workings of
Macchiato this was very difficult since all of the main
design decisions had been made inside of Tape. I don't think Tape had really been build to accomodate that kind of abuse!
v2 this dependency has been completely removed. Macchiato now has it's own test runner.
This has made it much easier to manage and very modular, which means that in the future when features are added (to analyse test methods execution etc.) this will be a lot easier and also creates a lot of possibilies.
Macchiato used to only output TAP (Test Anywhere Protocol), this has now changed.
Macchiato has it's own output which is a lot like the
-R spec option this is the default console output.
To change this output you can specify it as an option:
describe output: 'tap'
$ macchiato -o tap test/*.js
More documentation coming soon...