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
|
Feature: Usage formatter
In order to see where step definitions are used
Developers should be able to see a list of step definitions and their use
Background:
Given a file named "features/f.feature" with:
"""
Feature: F
Background: A
Given A
Scenario: B
Given B
Scenario Outline: CA
Given <x>
And B
Examples:
|x|
|C|
|A|
Scenario: AC
Given A
Given C
"""
And a file named "features/step_definitions/steps.rb" with:
"""
Given(/A/) { }
Given(/B/) { }
Given(/C/) { }
Given(/D/) { }
"""
Scenario: Run with --format usage
When I run `cucumber -f usage --dry-run`
Then it should pass with exactly:
"""
-----------
/A/ # features/step_definitions/steps.rb:1
Given A # features/f.feature:3
Given A # features/f.feature:12
Given A # features/f.feature:14
/B/ # features/step_definitions/steps.rb:2
Given B # features/f.feature:5
And B # features/f.feature:11
And B # features/f.feature:12
/C/ # features/step_definitions/steps.rb:3
Given C # features/f.feature:11
Given C # features/f.feature:15
/D/ # features/step_definitions/steps.rb:4
NOT MATCHED BY ANY STEPS
4 scenarios (4 skipped)
11 steps (11 skipped)
"""
Scenario: Run with --expand --format usage
When I run `cucumber -x -f usage --dry-run`
Then it should pass with exactly:
"""
-----------
/A/ # features/step_definitions/steps.rb:1
Given A # features/f.feature:3
Given A # features/f.feature:12
Given A # features/f.feature:14
/B/ # features/step_definitions/steps.rb:2
Given B # features/f.feature:5
And B # features/f.feature:11
And B # features/f.feature:12
/C/ # features/step_definitions/steps.rb:3
Given C # features/f.feature:11
Given C # features/f.feature:15
/D/ # features/step_definitions/steps.rb:4
NOT MATCHED BY ANY STEPS
4 scenarios (4 skipped)
11 steps (11 skipped)
"""
Scenario: Run with --format stepdefs
When I run `cucumber -f stepdefs --dry-run`
Then it should pass with exactly:
"""
-----------
/A/ # features/step_definitions/steps.rb:1
/B/ # features/step_definitions/steps.rb:2
/C/ # features/step_definitions/steps.rb:3
/D/ # features/step_definitions/steps.rb:4
NOT MATCHED BY ANY STEPS
4 scenarios (4 skipped)
11 steps (11 skipped)
"""
|