我正在Cucumber-JVM和Maven范围内运行一套自动化测试。我已经指定了我的步骤定义和胶水,所以那里没有问题。
问题出在我的IDE和Maven抱怨的两个相似的“步骤定义”周围:
Multiple definitions found for `some-action-i-want-to-do "actionName" with-specifics "specificsName"`
我的两个Step Function的内容如下:
@Given("^some-action-i-want-to-do \"(.*)\"$")
public void someActionIWantToDo(String p1) {
... etc
}
@Given("^some-action-i-want-to-do \"(.*)\" with-specifics \"(.*)\" $")
public void someActionIWantToDoWithSpecifics(String p1, String p2) {
... etc
}
因此,自然地,当我运行Maven套件时,我会看到警告...任何人都可以提出一种可以阻止或抑制这些警告的方法吗?
答案 0 :(得分:2)
由于第一个正则表达式中的.*
,它也将与some-action-i-want-to-do "actionName" with-specifics "specificsName"
匹配
如果您的actionName仅由字母和数字组成,请考虑使用\w+
。
^some-action-i-want-to-do \"(\\w+)\"$
因此,它将不接受空格或双引号。