Cucumber 6 未定义的自定义步骤
Posted
技术标签:
【中文标题】Cucumber 6 未定义的自定义步骤【英文标题】:Cucumber 6 undefined custom step 【发布时间】:2021-12-27 21:38:31 【问题描述】:我正在我的项目中升级 Cucumber 版本,并且自定义配置在版本 4 和 6 之间发生了更改。
我已经为参数类型注册了一个自定义关键字。
一切正常,步骤通过并生成值,但步骤仍标记为未定义。
我使用 Intellij IDEA 和 Cucumber plugin for Java 是插件问题还是 y 代码中的某个地方?
黄瓜步:
When generate uniqueRandom(5) for test
Java 步骤:
@When("generate unique_random for test")
public void testStep(int randomNumber)
log.info(String.valueOf(randomNumber));
参数类型注册表:
@ParameterType(name = "unique_random", value = "uniqueRandom\\([0-9]+\\)")
public Integer randomNumber(String original)
return ... // some logic of creation
黄瓜版本: 6.8.1
我是否可以对这个警告做点什么?
【问题讨论】:
如果测试执行了,那就是IDEA的问题了。 是否可以调整配置中的某些内容来修复它? 向 IDEA 提交错误报告。 【参考方案1】:Cucumber API 和 Cucumber 插件似乎有问题。
我更改了我的参数类型注册方法
来自:
@ParameterType(name = "unique_random", value = "uniqueRandom\\([0-9]+\\)")
public Integer randomNumber(String original)
return ... // some logic of creation
到
@ParameterType(value = "uniqueRandom\\([0-9]+\\)")
public Integer unique_random(String original)
return ... // some logic of creation
@ParameterType.name()
的文档中描述了这个解决方案参数类型的名称。这用作 typed 中的类型名称 表达式。如果未提供,则默认为 带注释的方法。
插件不解析注解中的参数名,而是解析为方法名。
【讨论】:
以上是关于Cucumber 6 未定义的自定义步骤的主要内容,如果未能解决你的问题,请参考以下文章
WebStorm中的“未定义步骤引用”在尝试时引用TypeScript步骤定义代码
Selenium (Eclipse) - 功能文件 - 如果未定义步骤定义,则不突出显示步骤
Cucumber / Capybara 错误:参数 [0] 未定义(Selenium::WebDriver::Error::JavascriptError)
在我的自定义 collectionView 布局中未调用 prepare()