kyuri - plain words go in, VowsJS stubs come out
kyuri is a node.js Cucumber implementation with a few extra asynchronous keywords. it supports 160+ languages and exports to VowsJS stubs
A feature in kyuri might look like this...
Feature: Addition In order to avoid silly mistakes As a math idiot I want to be told the sum of two numbers Scenario: Add two numbers Given I have entered 50 into the calculator And I have entered 70 into the calculator When I press add Then the result should be 120 on the screen
Should output:
vows.describe('Addition').addBatch({ "Add two numbers": { "GIVEN I have entered 50 into the calculator": { topic: function () { /* Setup your test conditions here */ }, "AND I have entered 70 into the calculator": { topic: function () { /* Setup your test conditions here */ }, "WHEN I press add": { topic: function () { /* Setup your test conditions here */ }, "THEN the result should be 120 on the screen": function () { /* Setup your test assertions here */ }, } } } } }).export(module);
gherkin is almost fully supported by kyuri. kyuri can push and pull updates from the gherkin project, check out i18n.js and i18n-generator.rb
(we are CLOSE to gherkin compliance, we will be working on 100% in v0.2.0)
curl http://npmjs.org/install.sh | sh
npm install kyuri
###VowsJS
Vows is a popular Behavior Driven Development framework for node.js. Vows was built from the ground up to test asynchronous code. It executes your tests in parallel when it makes sense, and sequentially when there are dependencies.
Instead of crafting your VowsJS code from hand (using JavaScript), kyuri allows you to auto-generate Vows stubs.
###Protip: kyuri is meant to be a low-level tool. if you want to compose Features and Scenarios using kyuri and a rich user-interface check out our other Node Knockout Entry, prenup.