Reputation: 31
I am trying to execute cucumber-js sample program http://cucumber.github.io/cucumber-js/ in my local windows system,
node version 0.10.26 npm version 1.4.3
Folder structure
../node_modules ../test/features/support/world.js ../test/features/new_math.js ../test/features/step_definitions/demonstrationSteps.js
//steps code
module.exports = function () {
this.World = require("../support/world").World;
this.Given(/^a variable set to (\d+)$/, function(number) {
this.setTo(number);
});
this.When(/^I increment the variable by (\d+)$/, function(number) {
this.incrementBy(number);
});
this.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 + '.');
});
};
world file:
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);
};
module.exports.World = CustomWorld;
Feature file:
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 |
When i execute the command "cucumber-js /test/features/new_math.feature" the following is the output i get in the command prompt.
Feature: Simple maths In order to do maths As a developer I want to increment variables
Upvotes: 1
Views: 2484
Reputation: 31
I found out a work around, i configured my package.json to trigger the script
"scripts": {
"test": "cucumber-js test/features/demonstration.feature"
},
So when i use the command "npm test". The features were being executed.
Upvotes: 1