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 106 107 108 109 110 111 112 113 114
|
Feature: Summary with Undefined Steps
. SPECIFICATION:
. * An undefined step should be counted as "undefined" step.
. * An undefined step should cause its scenario to fail.
. * If an undefined step is detected the remaining scenario steps are skipped.
.
. RELATED TO:
. * issue #42 Multiple undefined steps in same scenario are detected.
@setup
Scenario: Test Setup
Given a new working directory
And a file named "features/steps/passing_steps.py" with:
"""
from behave import step
@step('a step passes')
def step_passes(context):
pass
"""
Scenario: Undefined step as first step in a scenario
Given a file named "features/summary_undefined_first_step.feature" with:
"""
Feature:
Scenario:
Given an undefined step is used
When a step passes
Then a step passes
"""
When I run "behave -f plain features/summary_undefined_first_step.feature"
Then it should fail with:
"""
0 features passed, 1 failed, 0 skipped
0 scenarios passed, 1 failed, 0 skipped
0 steps passed, 0 failed, 2 skipped, 1 undefined
"""
Scenario: Undefined step as last step in a scenario
Given a file named "features/summary_undefined_last_step.feature" with:
"""
Feature:
Scenario:
Given a step passes
When an undefined step is used
"""
When I run "behave -f plain features/summary_undefined_last_step.feature"
Then it should fail with:
"""
0 features passed, 1 failed, 0 skipped
0 scenarios passed, 1 failed, 0 skipped
1 step passed, 0 failed, 0 skipped, 1 undefined
"""
Scenario: Undefined step as middle step in a scenario
Given a file named "features/summary_undefined_middle_step.feature" with:
"""
Feature:
Scenario:
Given a step passes
When an undefined step is used
Then a step passes
And a step passes
"""
When I run "behave -f plain features/summary_undefined_middle_step.feature"
Then it should fail with:
"""
0 features passed, 1 failed, 0 skipped
0 scenarios passed, 1 failed, 0 skipped
1 step passed, 0 failed, 2 skipped, 1 undefined
"""
Scenario: Two undefined steps in same scenario, all are detected (skipped)
Given a file named "features/summary_undefined_step2.feature" with:
"""
Feature:
Scenario:
Given a step passes
When an undefined step is used
Then a step passes
And another undefined step is used
"""
When I run "behave -f plain features/summary_undefined_step2.feature"
Then it should fail with:
"""
0 features passed, 1 failed, 0 skipped
0 scenarios passed, 1 failed, 0 skipped
1 step passed, 0 failed, 1 skipped, 2 undefined
"""
Scenario: Two undefined steps in different scenarios
Given a file named "features/summary_undefined_step_and_another.feature" with:
"""
Feature:
Scenario:
Given a step passes
When an undefined step is used
Then a step passes
Scenario:
Given an undefined step is used
When a step passes
"""
When I run "behave -f plain features/summary_undefined_step_and_another.feature"
Then it should fail with:
"""
0 features passed, 1 failed, 0 skipped
0 scenarios passed, 2 failed, 0 skipped
1 step passed, 0 failed, 2 skipped, 2 undefined
"""
|