Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

nodejs testing made easy

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 bin
Octocat-spinner-32 engines
Octocat-spinner-32 test
Octocat-spinner-32 .gitignore
Octocat-spinner-32 LICENSE
Octocat-spinner-32 README.md
Octocat-spinner-32 ensure.js
Octocat-spinner-32 package.json
README.md

ensure

ensure is just a simple way to test in node.js

installation

  1. install npm
  2. npm install ensure

usage

  var ensure = 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.js

an 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,bar
  ensure('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

  var ensure = 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 vows

vows 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.

contribute

everyone is welcome to contribute. patches, bug-fixes, new features

  1. create an issue on github so the community can comment on your idea
  2. fork nano in github
  3. create a new branch git checkout -b my_branch
  4. create tests for the changes you made
  5. make sure you pass both existing and newly inserted tests
  6. commit your changes
  7. push to your branch git push origin my_branch
  8. create an pull request

tests

  1. install the packages referred as dev dependencies in package.json
  2. browse to test/ and ./run.

always make sure all the tests pass before sending in your pull request!

meta

(oO)--',- in caos

Something went wrong with that request. Please try again.