153 строки
4,4 КиБ
Gherkin
153 строки
4,4 КиБ
Gherkin
Feature: run outline
|
|
In order to test application behavior
|
|
As a test suite
|
|
I need to be able to run outline scenarios
|
|
|
|
Scenario: should run a normal outline
|
|
Given a feature "normal.feature" file:
|
|
"""
|
|
Feature: outline
|
|
|
|
Background:
|
|
Given passing step
|
|
|
|
Scenario Outline: parse a scenario
|
|
Given a feature path "<path>"
|
|
When I parse features
|
|
Then I should have <num> scenario registered
|
|
|
|
Examples:
|
|
| path | num |
|
|
| features/load.feature:6 | 1 |
|
|
| features/load.feature:3 | 0 |
|
|
"""
|
|
When I run feature suite
|
|
Then the suite should have passed
|
|
And the following steps should be passed:
|
|
"""
|
|
a passing step
|
|
I parse features
|
|
a feature path "features/load.feature:6"
|
|
a feature path "features/load.feature:3"
|
|
I should have 1 scenario registered
|
|
I should have 0 scenario registered
|
|
"""
|
|
|
|
Scenario: should continue through examples on failure
|
|
Given a feature "normal.feature" file:
|
|
"""
|
|
Feature: outline
|
|
|
|
Background:
|
|
Given passing step
|
|
|
|
Scenario Outline: parse a scenario
|
|
Given a feature path "<path>"
|
|
When I parse features
|
|
Then I should have <num> scenario registered
|
|
|
|
Examples:
|
|
| path | num |
|
|
| features/load.feature:6 | 5 |
|
|
| features/load.feature:3 | 0 |
|
|
"""
|
|
When I run feature suite
|
|
Then the suite should have failed
|
|
And the following steps should be passed:
|
|
"""
|
|
a passing step
|
|
I parse features
|
|
a feature path "features/load.feature:6"
|
|
a feature path "features/load.feature:3"
|
|
I should have 0 scenario registered
|
|
"""
|
|
And the following steps should be failed:
|
|
"""
|
|
I should have 5 scenario registered
|
|
"""
|
|
|
|
Scenario: should skip examples on background failure
|
|
Given a feature "normal.feature" file:
|
|
"""
|
|
Feature: outline
|
|
|
|
Background:
|
|
Given a failing step
|
|
|
|
Scenario Outline: parse a scenario
|
|
Given a feature path "<path>"
|
|
When I parse features
|
|
Then I should have <num> scenario registered
|
|
|
|
Examples:
|
|
| path | num |
|
|
| features/load.feature:6 | 1 |
|
|
| features/load.feature:3 | 0 |
|
|
"""
|
|
When I run feature suite
|
|
Then the suite should have failed
|
|
And the following steps should be skipped:
|
|
"""
|
|
I parse features
|
|
a feature path "features/load.feature:6"
|
|
a feature path "features/load.feature:3"
|
|
I should have 0 scenario registered
|
|
I should have 1 scenario registered
|
|
"""
|
|
And the following steps should be failed:
|
|
"""
|
|
a failing step
|
|
"""
|
|
|
|
Scenario: should translate step table body
|
|
Given a feature "normal.feature" file:
|
|
"""
|
|
Feature: outline
|
|
|
|
Background:
|
|
Given I'm listening to suite events
|
|
|
|
Scenario Outline: run with events
|
|
Given a feature path "<path>"
|
|
When I run feature suite
|
|
Then these events had to be fired for a number of times:
|
|
| BeforeScenario | <scen> |
|
|
| BeforeStep | <step> |
|
|
|
|
Examples:
|
|
| path | scen | step |
|
|
| features/load.feature:6 | 1 | 3 |
|
|
| features/load.feature | 6 | 19 |
|
|
"""
|
|
When I run feature suite
|
|
Then the suite should have passed
|
|
And the following steps should be passed:
|
|
"""
|
|
I'm listening to suite events
|
|
I run feature suite
|
|
a feature path "features/load.feature:6"
|
|
a feature path "features/load.feature"
|
|
"""
|
|
|
|
Scenario Outline: should translate step doc string argument
|
|
Given a feature "normal.feature" file:
|
|
"""
|
|
Feature: scenario events
|
|
|
|
Background:
|
|
Given I'm listening to suite events
|
|
|
|
Scenario: run with events
|
|
Given a feature path "<path>"
|
|
When I run feature suite
|
|
Then these events had to be fired for a number of times:
|
|
| BeforeScenario | <scen> |
|
|
"""
|
|
When I run feature suite
|
|
Then the suite should have passed
|
|
|
|
Examples:
|
|
| path | scen |
|
|
| features/load.feature:6 | 1 |
|
|
| features/load.feature | 6 |
|
|
|