gnikhil2
gnikhil2

Reputation: 31

Cucumber JS sample not working in my local system

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

Answers (1)

gnikhil2
gnikhil2

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

Related Questions