Skip to content

Integration of Jasmine Spec framework with Node.js

License

Notifications You must be signed in to change notification settings

mikelehen/jasmine-node

This branch is 220 commits behind mhevery/jasmine-node:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

1170061 · Jan 22, 2013
Aug 31, 2011
Jan 22, 2013
Apr 3, 2012
Dec 7, 2012
Dec 5, 2012
Dec 5, 2012
Apr 13, 2012
Dec 4, 2010
Dec 5, 2012
Dec 7, 2012
Dec 7, 2012

Repository files navigation

jasmine-node

Build Status

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 spec/

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

About

Integration of Jasmine Spec framework with Node.js

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 95.6%
  • Shell 2.0%
  • CoffeeScript 1.5%
  • Perl 0.9%