黄瓜-在IntelliJ中运行Runner时出现“测试忽略”错误

时间:2019-10-30 10:15:44

标签: intellij-idea cucumber-java cucumber-junit

我正在尝试在Intellij中运行一个黄瓜-Junit的简单示例,但没有收到错误“测试已忽略”。 (我已经为Java插件安装了黄瓜)

我的功能文件,Runner类,Stepdefinition类和Java类如下所示:

Java Class

StepDeifinition

Runner class

Feature File

pom.xml

我还试图以多种方式重组stepdefinition和功能文件,但这没有帮助。

1)错误是否表示没有找到stepdefinition文件(Feature1Steps.java)?如果是,我如何找到它?

2)我也无法运行功能文件(Feature1.feature)。它说:“测试框架意外退出”

3)我尝试使用最新的Java版Cucumber插件和较旧的Java插件(183.4284.148)进行1)和2)。但这并不能解决问题。

有人可以在这里帮助我吗?

2 个答案:

答案 0 :(得分:1)

好吧,我确实做了很多更改,并希望将其发布在这里。

1)功能文件和步骤定义文件中场景中的单词区分大小写,因此我对其进行了更正。 (在功能文件中,当我编写“ 我有一个计算器”时,然后在步骤定义文件中我也应该编写( @Given(“ ^我有一个计算器$”))< / strong>)。之前,我在步骤定义文件的第一步中使用了小c(计算器)。

2)我只是将stepdefinition文件和Runnerclass文件放在资源文件夹中的同一包和功能文件中。请参见下面的屏幕截图: enter image description here

具有这种结构后,我不需要在Runner类的Cucumber选项中完全指定胶水。我只需要指定功能文件所在的位置即可。见下文:

enter image description here

3)现在我正在使用4.2.0版的黄瓜。但这并没有什么不同。

enter image description here

希望这对其他人有帮助。

答案 1 :(得分:0)

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

来自Cucumber docs

”如果Cucumber告诉您未定义步骤,则在定义步骤定义后,这意味着Cucumber无法找到您的步骤定义。您需要确保指定步骤定义的路径(胶水路径) )。

默认情况下,Cucumber-JVM将搜索运行器类的包(或子包)。您还可以使用以下方法明确告知Cucumber-JVM:要搜索哪些软件包(和子软件包):

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

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