我希望通过使用标题本身中的示例,可以让我的场景大纲标题有更多信息:
Scenario Outline: A <some> step is <result>
When a <some> step
Then I get <result>
Examples:
| some | result |
| passing | passed |
| failing | skipped |
Then my scenario titles end up very useful:
Scenario: A passing step is passed
Scenario: A failing step is skipped
答案 0 :(得分:2)
Then
关键字必须高于Examples
。
Feature: Scenario outline with variables
Scenario Outline: A "<some>" step is "<result>"
When a "<some>" step
Then I get "<result>"
Then my scenario titles end up very useful
Examples:
| some | result |
| passing | passed |
| failing | skipped |
使用胶水 ScratchSteps.java
import cucumber.api.java.en.Then;
import cucumber.api.java.en.When;
public class ScratchSteps {
private String step;
private String result;
@Then("^my scenario titles end up very useful$")
public void myScenarioTitlesEndUpVeryUseful() throws Throwable {
System.out.printf("step: %s result: %s%n", step, result);
}
@When("^a \"([^\"]*)\" step$")
public void aStep(String step) throws Throwable {
this.step = step;
}
@Then("^I get \"([^\"]*)\"$")
public void iGet(String result) throws Throwable {
this.result = result;
}
}
输出
Feature: Scenario outline with variables
Scenario Outline: A "<some>" step is "<result>" # features/scratch.feature:3
When a "<some>" step
Then I get "<result>"
Then my scenario titles end up very useful
Examples:
Scenario Outline: A "passing" step is "passed" # features/scratch.feature:9
When a "passing" step # ScratchSteps.aStep(String)
Then I get "passed" # ScratchSteps.iGet(String)
step: passing result: passed
Then my scenario titles end up very useful # ScratchSteps.myScenarioTitlesEndUpVeryUseful()
Scenario Outline: A "failing" step is "skipped" # features/scratch.feature:10
When a "failing" step # ScratchSteps.aStep(String)
Then I get "skipped" # ScratchSteps.iGet(String)
step: failing result: skipped
Then my scenario titles end up very useful # ScratchSteps.myScenarioTitlesEndUpVeryUseful()
2 Scenarios (2 passed)
6 Steps (6 passed)