2

我希望使用同一步骤的两种变体我是使用 cucumber-jvm 进行的 ATDD 测试

然后订单通过数量限制

然后订单通过限制

这将在不同的情况下更好地阅读。我尝试了以下各种变体:

@Then(value = "^order passes (?: | quantity )limits$")
public void verifyCreditPassed(){ 
    //Assert stuff
}

任何人都可以帮忙吗?

谢谢

4

2 回答 2

6

您需要删除^$元字符,然后您的正则表达式变为:

order passes (?:quantity |)limits

因为当您使用^该行必须以单词开头order并且因为您使用$该行必须以 结尾时limits,上述正则表达式将匹配您输入字符串中任何位置的句子。

或使用以下正则表达式:

^Then order passes (?:quantity )?limits$
于 2013-08-22T10:46:31.427 回答
0

还想出了这个选项:

@Then(value = "^order passes(?: | quantity )limits$")
public void verifyCreditPassed(){ 

}
于 2013-08-22T10:48:19.507 回答