jasmine-node

Integration of Jasmine Spec framework with Node.js

6 years after

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

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

grunt-jasmine-node-coverage

grunt-jasmine-node-coverage

Grunt task for running jasmine-node ...

guard-jasmine-node

guard-jasmine-node

Guard::JasmineNode automatically runs your Jasmine Node specs when files are mod ...

jasmine-node-mongo-test

jasmine-node-mongo-test

Simple test of mongodb with jasmine-node. ...

guard-jasmine-node

guard-jasmine-node

Guard::JasmineNode automatically runs your Jasmine Node specs when files are mod ...


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