ensure is just a simple way to test in node.js
- install npm
npm install ensure
varensure=require('ensure'),tests=exports;tests.foo=function(callback){callback(true);};tests.foo_ok=function(t){this.t.ok(t);};ensure('foo',tests,module);run it:
node foo.jsan extra parameter is available to allow you to define only some tests from a specific file. you can do this by providing a comma separated list of tests you want to run, e.g. ensure('foo',tests,module,'foo,bar');. you can use this in combination with process.argv to choose what tests to run from the shell:
// assuming node foo.js foo,barensure('foo',tests,module,process.argv[2]);you can also set ensure to use a different test engine. for now we have tap and vows available with tap by default. here's an example using vows
varensure=require('ensure'),assert=require('assert'),tests=exports;tests.vows=function(cb){cb('foo');};tests.vows_ok=function(value){assert.equal(value,'foo','foo test worked');};ensure(__filename,tests,module,process.argv[2]);to run test vows you can do:
node vows.js vowsvows is the test name and is optional (by default all tests run).
note:this.t should not be placed in a variable. ensure uses a very simple static analysis algorithm to determine how many assertions exist in your callback. if you think this is not satisfactory feel free to make a pull request with better static analysis code.
everyone is welcome to contribute. patches, bug-fixes, new features
- create an issue on github so the community can comment on your idea
- fork
nanoin github - create a new branch
git checkout -b my_branch - create tests for the changes you made
- make sure you pass both existing and newly inserted tests
- commit your changes
- push to your branch
git push origin my_branch - create an pull request
- install the packages referred as dev dependencies in
package.json - browse to
test/and./run.
always make sure all the tests pass before sending in your pull request!
- code:
git clone git://github.com/dscape/ensure.git - home: http://github.com/dscape/ensure
- bugs: http://github.com/dscape/ensure/issues
(oO)--',- in caos