gpt4 book ai didi

Java 和 cucumber : Strange ambiguous step definition exception

转载 作者:行者123 更新时间:2023-11-30 12:08:37 25 4
gpt4 key购买 nike

环境: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 because of W in addition to P

关于Java 和 cucumber : Strange ambiguous step definition exception,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54286875/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com