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
|
@issue
Feature: Issue #84: behave.runner behave does not reliably detected failed test runs
. Behave does currently not reliably detected failed test runs and
. therefore returns not sys.exit(1) at end of main().
.
. 1. behave.runner:Runner.run_with_paths() returns failed==True
. if last feature was successful and test runner does not stop
. after first failing feature.
.
. 2. Issue #64: Same problem in behave.model.Feature.run() with scenarios
Scenario: Test Setup
Given a new working directory
And a file named "features/passing.feature" with:
"""
Feature: Passing
Scenario:
Given a step passes
When a step passes
Then a step passes
"""
And a file named "features/failing.feature" with:
"""
Feature: Failing
Scenario:
Given a step fails
When a step fails
Then a step fails
"""
And a file named "features/steps/steps.py" with:
"""
from behave import step
@step(u'a step passes')
def step_passes(context):
pass
@step(u'a step fails')
def step_fails(context):
assert False, "step: a step fails"
"""
Scenario: First feature fails, second feature passes
When I run "behave -f plain features/failing.feature features/passing.feature"
Then it should fail with:
"""
1 feature passed, 1 failed, 0 skipped
1 scenario passed, 1 failed, 0 skipped
3 steps passed, 1 failed, 2 skipped, 0 undefined
"""
Scenario: First feature passes, second feature fails
When I run "behave -f plain features/passing.feature features/failing.feature"
Then it should fail with:
"""
1 feature passed, 1 failed, 0 skipped
1 scenario passed, 1 failed, 0 skipped
3 steps passed, 1 failed, 2 skipped, 0 undefined
"""
Scenario: First feature passes, second fails, last passes
When I run "behave -f plain features/passing.feature features/failing.feature features/passing.feature"
Then it should fail with:
"""
2 features passed, 1 failed, 0 skipped
2 scenarios passed, 1 failed, 0 skipped
6 steps passed, 1 failed, 2 skipped, 0 undefined
"""
|