我有两个名为" X"和" Y" ( 很多其他的) 在测试场景" Y"之前,我需要运行场景" X"并返回场景" X"方案" Y"。我该怎么做?
我尝试了2个选项 1:我已经为X创建了背景场景,但是我无法将该背景场景X的结果返回到场景Y. 2:我在挂钩注释之前也尝试过使用。
(PS:我知道测试所有测试用例时应该相互独立)
答案 0 :(得分:0)
也许最简单的方法是将两个步骤放在同一个类中,然后使用类实例变量。
public class SomeSteps {
private List<String> betweenStepsList;
@When("^I initialize a list in one step$")
public void iInitializeAListInOneStep() {
betweenStepsList = new ArrayList<String>(Arrays.asList("Peter","Piper","picked","a","peck","of","pickled","peppers"));
}
@Then("^I can access that list in a following step$")
public void iCanAccessThatListInAFollowingStep() {
System.out.println("Elements are:" + betweenStepsList);
}
}
修改强> 你确实说过两个场景。当我面对这个问题时,我总能找到一种方法将场景合二为一。
您可以将中间结果写入第一个场景中的文件,然后在第二个场景中读取它们。我自己从不费心去做,但是有很多关于如何读写文件的教程。这是Java的one。 Ruby或Python(您没有指定)用于编写然后读取文件的示例也很容易获得。
只要两个场景都在同一个功能文件中,并行执行就可以了。