在黃瓜(java版本)中,我如何使用一個「then」函數來匹配所有步驟?如何在Cucumber-JVM中使用一個「Then」步驟來匹配任意數量的條件?
比如我想能夠比賽在一個函數以下所有:
Then the response status will be "200"
Then the response status will be "200" or "302"
Then the response status will be "200" or "302" or "404"
我是否需要寫一個匹配的每個「或」 S嗎?
有沒有一種方法可以爲以上的所有情況編寫一個匹配器?
例如,我怎麼這些組合成一個功能?:
@Then("^the response status should be \"([^\"]*)\"$")
public void the_response_status_should_be(String arg1) throws Throwable {
System.out.println("** the response status should be "+arg1);
}
@Then("^the response status should be \"([^\"]*)\" or \"([^\"]*)\"$")
public void the_response_status_should_be_or(String arg1, String arg2) throws Throwable {
System.out.println("** the response status should be "+arg1+" "+arg2);
}
@Then("^the response status should be \"([^\"]*)\" or \"([^\"]*)\" or \"([^\"]*)\"$")
public void the_response_status_should_be_or(String arg1, String arg2, String arg3) throws Throwable {
System.out.println("** the response status should be "+arg1+" "+arg2+" "+arg3);
}
這可能嗎?
謝謝!
可能會有超過3個值嗎? – Reimeus
@Reimeus可能!我可以將它限制爲3,然後檢查是否每個都是未定義的? – Kayvar
AFAIK由於步驟文件參數的數量始終是固定的,因此您嘗試的操作不可能以其當前格式顯示。因此下面的選項看起來像是最好的選擇 – Reimeus