使用IntelliJ时,Cucumber找不到步骤定义。

6

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

这就是我的配置 Glue应该是步骤定义所在的包的名称。在我的情况下,该包被称为stepdefinitions

以下图片显示了我的项目结构。特性文件位于/src/test/resource/features,而步骤定义存储在/src/test/java/stepdefinitions中。 这就是我的项目结构

不幸的是,当我尝试使用步骤定义运行Cucumber功能时,我会收到提示"You can implement missing steps with the snippets below:"但是我已经这样做了。我已经将这些片段复制到了步骤定义文件中。当我悬停在场景上时,IntelliJ告诉我*Unimplemented Substep Definition。

Unimplemented Substep Defintion

那两件事让我得出结论,即IntelliJ找不到我的步骤定义。也许你们中的某个人知道我做错了什么。

2
你的 Glue 设置应该指向 Java 类,而不是你的步骤定义。 - M.P. Korstanje
4个回答

8

我终于找到了解决方案。这个错误是由一个名为Substep IntelliJ Plugin的插件引起的。您需要在IntelliJ插件部分搜索它并禁用或卸载它。


我也遇到了这个问题。 - sayhan
1
这个解决方案对我没有帮助。Substep IntelliJ插件被禁用了。我卸载了它,重新启动了Intellij。但是它并没有起作用:.feature文件中的步骤仍然无法识别。 - Boris Frenkel
我在我的Intellij中没有看到名为Substep IntelliJ Plugin的插件。我仍然无法找到这些步骤。 - Jwala Kumar

1

尝试“使缓存失效并重新启动”。对我有用——插件可能会卡住。


0

0
对我来说,我不得不删除并重新创建运行配置。
我一直在从功能文件中点击“运行”,但它一直失败。当我从Runner类中运行时,它就正常工作了。然后我查看了运行配置,发现IntelliJ在我更改包名之前运行的是旧的运行配置。我删除了所有Cucumber功能的运行配置。再次点击功能的运行按钮,它就像魔术般地正常工作了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接