Skip to content
Pure Javascript Cucumber
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
example
features
lib
spec
.gitignore
.gitmodules
.npmignore
Gemfile
Gemfile.lock
LICENSE
README.md
cucumber.js
package.json
run_all_features.js

README.md

Cucumber.js

Cucumber brought (natively) to your JavaScript stack.

It can run basic fatures inside both Node.js and web browsers.

It still needs a lot of work. Only a few feature elements are supported at the moment.

Prerequesites

  • Node.js 0.4.8 (tested on 0.4.7 too)
  • npm 1.0.6

Works on

  • Node.js 0.4.7, 0.4.8, 0.5.0-pre
  • Google Chrome 13.0.772.0 (dev)
  • Firefox 4.0.1
  • Safari 5.0.5

And probably lots of other browsers.

Play with it!

$ node example/server.js

Then go to localhost:9797.

Setup for using in Node.js and running tests

The only dependency of cucumber.js is Gherkin:

$ npm link

Run tests

Specs

$ cd spec
$ ../node_modules/.bin/jasmine-node .

Features

Features run through cucumber.js have to be executed one at a time for the moment. We are working on it :)

Cucumber-features

There is a common set of features shared between all cucumber implementations. Find more on the Github repository.

Ruby and Bundler are required for this to work.

$ git submodule update --init
$ bundle
$ rm -rf doc; ARUBA_REPORT_DIR=doc cucumber features/cucumber-features/core.feature -r features
$ open doc/features/cucumber-features/*.html # might open a lot of files ;)

Run Cucumber.js to test itself

This is still a work in progress; some step definition mappings are missing to run the core.feature with Cucumber.js.

You can run the following script which will execute cucumber.js recursively against all known passing features and "core.feature":

$ ./run_all_features.js

Debug messages

You can display debug messages by setting the DEBUG_LEVEL environment variable. It goes from 1 to 5. 5 will diplay everything, 1 will only print out the critical things.

$ DEBUG_LEVEL=5 ./run_all_features.js
$ DEBUG_LEVEL=5 ./cucumber.js features/cucumber-features/core.feature

It even works with Aruba:

$ rm -rf doc; DEBUG_LEVEL=5 ARUBA_REPORT_DIR=doc cucumber features/cucumber-features/core.feature -r features
$ open doc/features/cucumber-features/*.html # you'll see debug messages in Aruba-generated docs
Something went wrong with that request. Please try again.