java - 带有 Java 和 Selenium 的 Cucumber 错误地报告重复的步骤定义
问题描述
尝试运行黄瓜测试时,我开始收到此错误:
No tests were found
Exception in thread "main" cucumber.runtime.DuplicateStepDefinitionException: Duplicate step definitions in e2e.brukerveiledning.BrukerveiledningSteps.jegGårTilLivssituasjonForAaSeNyFunksjonFor(String) in file:/home/frank/Desktop/saksbehandling/e2e/cucumber/target/test-classes/ and e2e.brukerveiledning.BrukerveiledningSteps.jegGårTilLivssituasjonForAaSeNyFunksjonFor(String) in file:/home/frank/Desktop/saksbehandling/e2e/cucumber/target/test-classes/
现在,我真的不明白这个错误信息。它声称有一个重复的步骤定义,它指向一个文件夹,称其为文件。此外,它是一个输出文件夹,而不是包含实际源文件的文件夹。那么,任何东西是如何“重复”的呢?
这适用于到目前为止一直运行良好的许多步骤和定义。每次我注释掉一个所谓的“重复”时,它都会继续声称另一个步骤是重复的。对于其中的每一个,搜索都会产生一个且只有一个结果。
有任何想法吗?
它声称的步骤定义是重复的,而不是重复的。搜索名称只会产生一个结果。
对于上面的例子:
@Når("^jeg går til livssituasjon for aa se ny funksjon for \"([^\"]*)\"$")
public void jegGårTilLivssituasjonForAaSeNyFunksjonFor(String sakTag) {
long sakId = ScenarioState.getSakId(sakTag);
navigationPage.gaTilPath("/sak/" + sakId + "/livssituasjon", false);
}
搜索此步骤定义时,仅找到一个匹配项:
如果我注释掉这个定义并尝试运行测试,它会转到下一个具有相同声明的测试,从而产生相同的结果。
因此,某处显然存在一些更深层次的错误,因为错误声明完全是虚假的(至少看起来如此)。
此外,当错误第一次发生时(在 Jenkins 中,然后在本地复制),一些测试运行良好,而有些则没有。但是在尝试运行其中一个失败的测试后,所有其他测试也突然失败了。
解决方案
推荐阅读
- html - 如何使 WordPress 页面模板具有响应性?
- function - 我正在尝试将值从可靠性库传递给函数,但没有太大成功。这是我的示例数据和代码
- laravel - eloquent的dosntHave方法为什么会超时以及如何调试
- python - 带有熊猫的列中的比较运算符
- javascript - 如何使用 copy(JSON.stringify(Object.entries) 从 JSON 中提取特定属性,同时在 chrome 控制台中过滤掉不需要的属性?
- python - 如何在 Python 脚本中使用“virtualenv.cli_run”方法来创建虚拟环境?
- python - Moderngl:带角度的投影照片
- python - 如何将值列表汇总为 csv 文件中的数字
- python - 使用从 Excel 导入的数据在 Python 中绘制 3D 曲面图
- hashicorp-vault - 旧密钥被重新发布/撤销时,保险柜可以发送通知吗?