[英]Java and Cucumber: Strange ambiguous step definition exception
環境:Java / IntelliJ / Cucumber
最近,我經歷了好幾次,IntelliJ聲稱當似乎沒有一個步驟定義時,它就模棱兩可。
cucumber.runtime.AmbiguousStepDefinitionsException: "that "saken" is a
rejected case in kommune "5000"" matches more than one step definition:
"^that "([^"]*)" is a rejected case" in SakSteps.isARejectedCase(String)
"^that "([^"]*)" is a rejected case in kommune "([^"]*)"$" in
SakSteps.isARejectedCaseInKommune(String,String)
盡管前6個字符串匹配,但“給定”步驟文本並不相同:
"^that "([^"]*)" is a rejected case"
"^that "([^"]*)" is a rejected case in kommune "([^"]*)"$"
方法名稱根本不相似:
isARejectedCase(String)
isARejectedCaseInKommune(String,String)
IntelliJ / Cucumber怎么聲稱這些模棱兩可?
該代碼之前確實起作用。 在這之間可能有一些插件更新或其他更新,但是我不明白為什么它應該表現得如此?
在這里回答我自己的帖子:
原因是在步驟定義的末尾缺少“ $”,以標記句子的結尾。 否則,它將匹配以相同單詞開頭的定義。 例:
When X does Y because of W
When X does Y becayse of W in addition to P
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.