簡體   English   中英

Java和黃瓜:奇怪的歧義步驟定義異常

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM