Node runner for Jasmine JavaScript BDD testing framework
JavaScript CoffeeScript
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Jessie - a Node runner for Jasmine

Jessie is a Node runner for Jasmine. It was created to provide better reporting on failures, more modular design, easier creation of formatters and optional syntactic sugar.


Stable version is available on npm, so you can install by using:

npm install jessie

If you want to install the edge development version, simply clone this repo and install from it:

git clone git://
npm install ./jessie


$ jessie
  jessie [OPTIONS] [spec dirs/files]

  -f, --format [STRING]  Output format to use (Default is progress)
  -v, --version          Display the current version
  -h, --help             Display help and usage details

Jessie will run specs in any folder you specify, but it will automatically load up 'spec/spec_helper.js' if it is present.

For details on how to use Jasmine, consult the Jasmine docs at


Currently Jessie ships with 3 formatters: progress, nested and xunit. By default it uses progress. If you want to use a different one, you can do it by specifying the -f option:

jessie -f [formatter_name] spec
  • Special note on xunit:

Since this formatter is more useful when in a Continuous Integration environment, sending its output to an XML file would be the most common thing to do. Given that Jessie creates separate processes to execute the tests, simply sending the output to a file like “jessie -f xunit spec > test_results.xml” wouldn't work most of the times. So the following does the trick:

jessie -f xunit spec | cat > test_results.xml

Pending specs

Jessie extends Jasmine with the ability of marking pending specs. You have 2 options - one is to call it with only the description, like this:

it("should be pending")

Another way is to call the pending() function within your spec, like this:

it("should be pending", function() {

Optionally, you can provide a message that will appear within spec results, simply by sending an argument to pending(), like this:

it("should be pending", function() {
  pending("Add real spec here!")


If you want, Jessie can extend the built-in prototypes with syntactic sugar, so you can use methods like this:

variable.should_be("Foo Boo")

The number of these methods is limited and will possibly grow with time.

To use them, put this line into spec/spec_helper.js



Jessie supports CoffeeScript out of the box. All you need to do is add this line to spec/spec_helper.js


With that set set up, you can test your CoffeeScript code and have specs in CoffeeScript.

Continuous test runner

If you want to have your specs run continuously, see Jezebel.

Usage with grunt

If you use grunt, there's a plugin for it, called grunt-jessie by Kenneth Jørgensen.


Jessie is a fresh project, so forks are very welcome!


Tests are in Jasmine and run on Jessie. In order to run them, use the binary in the bin folder (be sure to run `npm install` first to get the dependencies)

bin/jessie spec


jessie is largely based on The goal of jessie is to be more modular and configurable.


Copyright © 2011 Marcin Bunsch, Future Simple Inc. See LICENSE for details.