为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Cucumber v1.2.4 时运行 Cucumber 测试的方法没有签名

使用 Cucumber v1.2.4 时运行 Cucumber 测试的方法没有签名

墨色风雨 2023-03-23 16:15:58
我在设置自己的开发环境时遇到问题。我正在使用 eclipse phontom 和eclipse-groovy,Cucumber Eclipse plugin并想加入使用 groovy 和 cucumber 编写测试代码的开发。起初我io.cucumber.cucumber-groovy:4.5.3通过 maven 导入 cucumber ( ) 的依赖项,一切正常。然而,几天后,同事告诉我,他们过去常常使用旧版本(info.cukes.cucumber-groovy:1.2.4)导入依赖项。降级后我的笔记本电脑里的一切都坏了。例如,以下是 的简单步骤定义Given。package stepsimport cucumber.api.groovy.ENimport cucumber.api.groovy.Hooksthis.metaClass.mixin(EN)this.metaClass.mixin(Hooks)Given(/an item ID which does not exist/) { ->    documentId = "test_not_exist_" + UUID.randomUUID().toString()}当我在笔记本电脑上运行它时,会引发以下异常。No signature of method: steps.RawItemRetrieval.Given() is applicable for argument types: (java.lang.String, steps.RawItemRetrieval$_run_closure1) values: [an item ID which does not exist, steps.RawItemRetrieval$_run_closure1@45d2ade3]Possible solutions: grep(), run(), run(), find(), every()    at cucumber.runtime.groovy.GroovyBackend.loadGlue(GroovyBackend.java:85)    at cucumber.runtime.Runtime.<init>(Runtime.java:91)    at cucumber.runtime.Runtime.<init>(Runtime.java:69)    at cucumber.runtime.Runtime.<init>(Runtime.java:65)    at cucumber.api.cli.Main.run(Main.java:35)    at cucumber.api.cli.Main.main(Main.java:18)我应该做些什么来使事情在依赖性下工作info.cukes.cucumber-groovy:1.2.4?以下是我的可能相关的开发环境:JDK: Amazon Corretto-8.212.04.2 (build 1.8.0_212-b04)Maven: 3.3.9Groovy compiler in eclipse: 2.4.17任何建议,将不胜感激。谢谢!
查看完整描述

1 回答

?
杨__羊羊

TA贡献1943条经验 获得超7个赞

好的,我想我已经找到原因了。可能是cucumber 1.2.4不支持如下格式的步骤定义导致的:

Given(/an item ID which does not exist/) { ->
    ....
}

当我将样式更改为正则表达式格式时,它再次起作用。

Given(~/^an item ID which does not exist$/) { ->
    ....
}

感谢 Mark Rotteveel 的建议!


查看完整回答
反对 回复 2023-03-23
  • 1 回答
  • 0 关注
  • 101 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号