黄瓜 - "Test ignored" 错误,而 运行 IntelliJ 中的 Runner

cucumber - "Test ignored" error while running Runner in IntelliJ

我正在尝试 运行 Intellij 中 cucumber-Junit 的一个简单示例,但没有出现错误 "Test ignored"。 (我已经为 Java 插件安装了 cucumber)

我的特征文件,Runner class,Stepdefinition class 和 java class 如下所示:

我也尝试过以多种方式重构 stepdefinition 和特征文件,但没有帮助。

1) 错误是否意味着没有找到步骤定义文件 (Feature1Steps.java)?如果是,我如何让它找到它?

2) 我也无法 运行 功能文件 (Feature1.feature)。它说:"Test Framework quit unexpectedly"

3) 我已经尝试了 1) 和 2) 的最新 Cucumber for Java 插件和旧版本 (183.4284.148)。但这并没有解决问题。

有人可以帮我吗?

将 .feature 文件移动到 resources/com/example

来自Cucumber docs

“如果 Cucumber 告诉您您的步骤未定义,当您定义了步骤定义时,这意味着 Cucumber 无法找到您的步骤定义。您需要确保指定步骤定义的路径 (粘合路径)正确。

默认情况下,Cucumber-JVM 将在运行程序 class 的包(或子包)中搜索。您还可以明确地告诉 Cucumber-JVM 要搜索哪些包(和子包),使用:

 @CucumberOptions(glue = {"<package>", "<package>", "<etc>"})
 public class RunCucumberTest{}"

"

(旁注:您使用的是非常旧的 Cucumber 版本。v5 即将发布。)

嗯,我确实改变了很多东西,想post在这里..

1) 特征文件和步骤定义文件中场景中的单词区分大小写,因此我更正了它。 (在功能文件中,当我写“鉴于我有一个计算器”,然后在步骤定义文件中我也应该写(@Given(“^我有一个Calculator$"))。早些时候我在我的步骤定义文件的第一步中有一个小 c(计算器)。

2) 我只是将 stepdefinition 文件和 Runnerclass 文件放在同一个包中,将功能文件放在资源文件夹中。看下面的截图:

有了这个结构后,我根本不需要在 Runner 的 Cucumber 选项中指定胶水 class。我只需要指定我的特征文件存在的位置。见下文:

3) 现在我使用的是 Cucumber 4.2.0 版。但我认为这没有任何区别。

我希望这对其他人有帮助。