Skip to content
This repository
Chris Young September 06, 2012
file 106 lines (90 sloc) 2.811 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
Feature: Command line interface
In order to run cucumber in different contexts
As a person who wants to run features
I want to run Cucumber on the command line

Scenario: run a single feature
Given a file named "features/a.feature" with:
"""
Feature: some feature
Scenario:
When a step is passing
"""
And a file named "features/step_definitions/cucumber_steps.js" with:
"""
var cucumberSteps = function() {
this.When(/^a step is passing$/, function(callback) { callback(); });
};
module.exports = cucumberSteps;
"""
When I run `cucumber.js features/a.feature`
Then it should pass with:
"""
.

1 scenario (1 passed)
1 step (1 passed)

"""

Scenario: run a single feature without step definitions
Given a file named "features/a.feature" with:
"""
Feature: some feature
Scenario:
When a step is undefined
"""
When I run `cucumber.js features/a.feature`
Then it should pass with:
"""
U

1 scenario (1 undefined)
1 step (1 undefined)

"""

Scenario: run feature with non-default step definitions file location specified (-r option)
Given a file named "features/a.feature" with:
"""
Feature: some feature
Scenario:
When a step is passing
"""
And a file named "step_definitions/cucumber_steps.js" with:
"""
var cucumberSteps = function() {
this.When(/^a step is passing$/, function(callback) { callback(); });
};
module.exports = cucumberSteps;
"""
When I run `cucumber.js features/a.feature -r step_definitions/cucumber_steps.js`
Then it should pass with:
"""
.

1 scenario (1 passed)
1 step (1 passed)

"""

Scenario: run feature with step definitions in required directory (-r option)
Given a file named "features/a.feature" with:
"""
Feature: some feature
Scenario:
When a step is passing
"""
And a file named "step_definitions/cucumber_steps.js" with:
"""
var cucumberSteps = function() {
this.When(/^a step is passing$/, function(callback) { callback(); });
};
module.exports = cucumberSteps;
"""
When I run `cucumber.js features/a.feature -r step_definitions`
Then it should pass with:
"""
.

1 scenario (1 passed)
1 step (1 passed)

"""

Scenario: display Cucumber version
When I run `cucumber.js --version`
Then I see the version of Cucumber

Scenario: display help
When I run `cucumber.js --help`
Then I see the help of Cucumber

Scenario: display help (short flag)
When I run `cucumber.js -h`
Then I see the help of Cucumber
Something went wrong with that request. Please try again.