Feature: Simple maths
In order to do maths
As a developer
I want to increment variables
Scenario: easy maths
Given a variable set to 1
When I increment the variable by 1
Then the variable should contain 2
Scenario Outline: much more complex stuff
Given a variable set to <var>
When I increment the variable by <increment>
Then the variable should contain <result>
Examples:
| var | increment | result |
| 100 | 5 | 105 |
| 99 | 1234 | 1333 |
| 12 | 5 | 18 |
Cucumber.defineSupportCode(function(context) {
var setWorldConstructor = context.setWorldConstructor;
var Given = context.Given
var When = context.When
var Then = context.Then
///// Your World /////
//
// Call 'setWorldConstructor' with to your custom world (optional)
//
var CustomWorld = function() {};
CustomWorld.prototype.variable = 0;
CustomWorld.prototype.setTo = function(number) {
this.variable = parseInt(number);
};
CustomWorld.prototype.incrementBy = function(number) {
this.variable += parseInt(number);
};
setWorldConstructor(CustomWorld);
///// Your step definitions /////
//
// use 'Given', 'When' and 'Then' to declare step definitions
//
Given(/^a variable set to (\d+)$/, function(number) {
this.setTo(number);
});
When(/^I increment the variable by (\d+)$/, function(number) {
this.incrementBy(number);
});
Then(/^the variable should contain (\d+)$/, function(number) {
if (this.variable != parseInt(number))
throw new Error('Variable should contain ' + number +
' but it contains ' + this.variable + '.');
});
})