jasmine-node

Integration of Jasmine Spec framework with Node.js

jasmine-node

This node.js module makes the wonderful Pivotal Lab’s jasmine (http://github.com/pivotal/jasmine) spec framework available in node.js.

install

npm install jasmine-node -g

usage

Write the specifications for your code in *.js and *.coffee files in the spec/ directory (note: your specification files must end with either .spec.js or .spec.coffee; otherwise jasmine-node won’t find them!). You can use sub-directories to better organise your specs.

If you have installed the npm package, you can run it with:

jasmine-node

If you aren’t using npm, you should add pwd/lib to the $NODE_PATH environment variable, then run:

node lib/jasmine-node/cli.js

You can supply the following arguments:

  • –autotest, provides automatic execution of specs after each changes
  • –coffee, allow execution of .coffee specs
  • –color, indicates spec output should uses color to indicates passing (green) or failing (red) specs
  • –noColor, do not use color in the output
  • –verbose, verbose output as the specs are run
  • –junitreport, export tests results as junitreport xml format’

Checkout spec/SampleSpecs.js to see how to use it.

async tests

jasmine-node includes an alternate syntax for writing asynchronous tests. Accepting a done callback in the specification will trigger jasmine-node to run the test asynchronously waiting until the done() callback is called.

    it("should respond with hello world", function(done) {
      request("http://localhost:3000/hello", function(error, response, body){
        expect(body).toEqual("hello world");
        done();
      });
    });

An asynchronous test will fail after 5000 ms if done() is not called. This timeout can be changed by setting jasmine.DEFAULT_TIMEOUT_INTERVAL or by passing a timeout interval in the specification.

it("should respond with hello world", function(done) {
  request("http://localhost:3000/hello", function(error, response, body){
    done();
  }, 250);  // timeout after 250 ms
});

development

Install the dependent packages by running:

npm install

Run the specs before you send your pull request:

scripts/specs

or

scripts/specs --verbose

Related Repositories

jasmine-node

jasmine-node

Integration of Jasmine Spec framework with Node.js ...

grunt-browserify-jasmine-node-example

grunt-browserify-jasmine-node-example

An example of how to set up a project for cross-developing for the browser and node.js. ...

grunt-jasmine-node-coverage

grunt-jasmine-node-coverage

Grunt task for running jasmine-node ...

jasmine-phantom-node

jasmine-phantom-node

javascript test runner that uses phantom-node to execute jasmine specs ...

es6-node-mongo-boilerplate

es6-node-mongo-boilerplate

Boilerplate: ES6 Front End, Sass (with Bourbon and Neat), Gulp, Karma/Jasmine/Jasmine jQuery, Node.js, Express, MongoDB ...


Top Contributors

mhevery adomokos herrtreas quangv timbertson asalant eboto mcollina petrjanda TheRaven booo jherdman jeffwatkins mental vojtajina easternbloc blambeau bjornharrtell brianlow nono croland tarttelin cmilfont davidmiller davidpaniz sarenji gtanner iangreenleaf jdiamond jimmycuadra