Cucumber with IntelliJ 找不到步骤定义

问题描述 投票:0回答:4

我遇到了以下问题。我在 IntelliJ 中有四个 Cucumber 功能文件。我通过 IntelliJ 插件添加了 Cucumber 支持。创建功能后,我按如下方式编辑了配置,以便我可以执行功能文件。

Glue 应该是步骤定义所在的包的名称。在我的例子中,该包称为 stepdefinitions

下图显示了我的项目结构。功能文件位于 /src/test/resource/features 中,而步骤定义存储在 /src/test/java/stepdefinitions 中。

遗憾的是,当我尝试使用步骤定义运行黄瓜功能时,我收到提示“您可以使用下面的代码片段实现缺失的步骤:”但我已经这样做了。我已经将这些片段复制到步骤定义文件中。当我将鼠标悬停在场景上时,IntelliJ 会告诉我““未实现的子步骤定义”。

这两件事让我得出这样的结论:IntelliJ 找不到我的步骤定义。也许你们中有人知道我做错了什么。

intellij-idea cucumber gherkin
4个回答
8
投票

我终于找到了我的问题的答案。该错误是由名为 Substep IntelliJ Plugin 的插件引起的。您需要在 IntelliJ 插件部分中搜索它并禁用或卸载它。


1
投票

尝试“使缓存无效并重新启动”。它对我有用 - 插件卡住了。


0
投票

禁用 Cucumber 插件以避免特征文件关联发生冲突,安装 Substeps 插件。请参阅 http://substeps.github.io/ 了解有关如何使用 Substeps BDD 框架的更多文档,同时从此处下载示例入门项目:https://github.com/Substeps/substeps-example/archive/ 1.1.zip


0
投票

对我来说,我必须删除并重新创建运行配置。

我从功能文件中单击“运行”,但它一直失败。当我从 Runner 类中运行它时,它就起作用了。然后我查看了运行配置,在我更改包名称之前,IntelliJ 正在运行旧的运行配置文件。我删除了 Cucumber 功能的所有运行配置。再次单击该功能上的“运行”,效果非常好。

© www.soinside.com 2019 - 2024. All rights reserved.