gpt4 book ai didi

cucumber - 为什么 Cucumber 会引发 AmbiguousStepDefinitionsException?

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

cucumber.runtime.AmbiguousStepDefinitionsException: ✽.Given I am an admin user(src/test/resources/features/alerts.feature:9) matches more than one step definition:
I am an admin in LoginStepDefinitions.iAmAnAdmin()
^I am an admin user$ in AlertsStepDefinitions.iAmAUser()

at cucumber.runtime.RuntimeGlue.stepDefinitionMatch

我给出了 2 个不同的定义。我不确定为什么会出现此错误。

最佳答案

您收到此错误是因为

/I am an admin/ # in LoginStepDefinitions.iAmAnAdmin()


/^I am an admin user$/ # in AlertsStepDefinitions.iAmAUser()

两者都匹配
"I am an admin user" # at src/test/resources/features/alerts.feature:9

第一个正则表达式匹配第二个正则表达式所做的一切,因此任何匹配第二个正则表达式的步骤都将匹配两者并导致此错误。

您可以通过使第一个正则表达式不是第二个正则表达式的子集来修复它。一种选择是将第一个正则表达式更改为
/^I am an admin$/

我通常发现要求步骤定义匹配整个步骤是一个好主意(即以 ^ 开始并以 $ 结束),直到我找到一个很好的理由不这样做。但是,如何组织您的步骤,使它们都明确无误并且对读者有意义,这取决于您。

关于cucumber - 为什么 Cucumber 会引发 AmbiguousStepDefinitionsException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35929238/

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