是否可以在场景中添加多个given-when-then
块(类似于子场景)?
以下是我想到的一个例子:
A sample story with a collection of scenarios
Narrative:
As a dev
In order to do work
I want multiple sub-scenarios :-)
Scenario: A sample collection scenario
Given step1...
When step1...
Then step1...
Given step2...
When step2...
Then step2...
作为一种解决方法,我可以使用多个场景,但这需要重写一些胶水代码来初始化结构(方法之前和之后)。
任何暗示我怎么能避免这种情况?提前谢谢!
答案 0 :(得分:1)
是的,你可以这样做。
这个故事的简单例子:
A sample story with a collection of scenarios
Narrative:
As a dev
In order to do work
I want multiple sub-scenarios :-)
Scenario: A sample collection scenario
Given step 1
And step 11
When step 1
And step 11
Then step 1
And step 11
Given step 2
When step 2
Then step 2
java代码:
public class Test extends Steps {
@Given("step 1")
public void givenStep1() {
System.out.println("Given Step 1");
}
@Given("step 11")
public void givenStep11() {
System.out.println("Given Step 11");
}
@Given("step 2")
public void givenStep2() {
System.out.println("Given Step 2");
}
@When("step $step")
public void when(String step){
System.out.println("When Step " + step);
}
@Then("step $step")
public void then(String step){
System.out.println("Then Step " + step);
}
}
和测试结果:
Running story main/resources/test.story
Given Step 1
Given Step 11
When Step 1
When Step 11
Then Step 1
Then Step 11
Given Step 2
When Step 2
Then Step 2
请注意在此示例中如何匹配And
关键字。
在And
行下使用Given
时,如果Given
以下,则会将其Then
处理 - 然后将其匹配为Then
关键字等。