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
|
Feature: Basic directory layout (Variant 1)
As a story/test writer
I want a simple, non-deep directory structure
So that I can easily get an overview which stories/tests exist
. BASIC DIRECTORY LAYOUT STRUCTURE:
. features/
. +-- steps/*.py # Step definitions or step-library imports.
. +-- *.feature # Feature files.
. +-- environment.py # OPTIONAL: environment setup/hooks.
.
. SEE ALSO:
. * http://pythonhosted.org/behave/gherkin.html#layout-variations
@setup
Scenario: Setup directory structure
Given a new working directory
And a file named "features/steps/steps.py" with:
"""
from behave import step
@step('{word:w} step passes')
def step_passes(context, word):
pass
@step('{word:w} step fails')
def step_fails(context, word):
assert False, "XFAIL-STEP"
"""
And a file named "features/alice.feature" with:
"""
Feature: Alice
Scenario: A1
Given a step passes
When another step passes
Then a step passes
"""
And a file named "features/bob.feature" with:
"""
Feature: Bob
Scenario: B1
When a step passes
Then another step passes
"""
Scenario: Run behave with feature directory
When I run "behave -f progress features/"
Then it should pass with:
"""
2 features passed, 0 failed, 0 skipped
2 scenarios passed, 0 failed, 0 skipped
5 steps passed, 0 failed, 0 skipped, 0 undefined
"""
Scenario: Run behave with one feature file
When I run "behave -f progress features/alice.feature"
Then it should pass with:
"""
1 feature passed, 0 failed, 0 skipped
1 scenario passed, 0 failed, 0 skipped
3 steps passed, 0 failed, 0 skipped, 0 undefined
"""
Scenario: Run behave with two feature files
When I run "behave -f progress features/alice.feature features/bob.feature"
Then it should pass with:
"""
2 features passed, 0 failed, 0 skipped
2 scenarios passed, 0 failed, 0 skipped
5 steps passed, 0 failed, 0 skipped, 0 undefined
"""
|