Skip to content

CodingFabian/jasmine-node

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

Folders and files

NameName
Last commit message
Last commit date

Latest commit

b71a789 · Apr 3, 2012
Aug 31, 2011
Apr 3, 2012
Jan 17, 2012
Apr 3, 2012
Jan 18, 2012
Dec 4, 2010
Apr 3, 2012
Apr 3, 2012
Jan 18, 2012

Repository files navigation

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

About

Integration of Jasmine Spec framework with Node.js

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 98.6%
  • CoffeeScript 1.2%
  • Shell 0.2%