node package manager
Loosely couple your services. Use Orgs to version and reuse your code. Create a free org »



Integration tests with jasmine. Visit node-todo for an example


First you need to visit a url and probably wait until the page is loaded:

  beforeEach(function(done) {
    page = visit("/");

The page object supports clicking on elements:"#selector")

And filling in input fields:

  page.fill_in("#selector", "Some text");

Async behavior with waitFor:

  beforeEach(function(done) {"button");
    page.waitFor(function() {
      return someCondition() == true;
    }, done);


  • Install grunt cli: npm install grunt-cli -g

  • In package.json append to your devDependencies:

    "jasmine-integration": "0.0.1"
  • Install node modules: npm install

  • Add the following to your Gruntfile:


Basic setup for jasmine

Assuming test files are called *Spec.js and the app is a node app. Add the following to config/jasmine.yml

  - "**/*[Ss]pec.{js,coffee}"
application_port: 8080
server_command: "node server.js"

Running tests

  • To run tests in the browser grunt jasmine:server

  • To run tests in headless mode grunt jasmine:server:ci