黄瓜JVM未定义步骤

时间:2014-02-13 11:44:24

标签: java intellij-idea cucumber cucumber-jvm

我不能用黄瓜为项目执行简单的测试。我在Intellij 13社区,有黄瓜插件。

我在功能目录中编写了我的功能文件,我还实现了我的步骤,并在插件的帮助下创建了它们。我在intellij中识别我在功能文件中的步骤,它可以导航并转到步骤实现。

但是当我尝试运行我的场景时,它总是失败,因为对于每一步,它都会显示“Undefined step:”。

以下是我的项目的组织方式:

file organization

正如我之前所说,你可以看到我的步骤被Intellij识别出来:

feature file

这怎么可能,我该如何纠正?

任何帮助都会很棒!

编辑

现在我为跑步者添加了选项:

@CucumberOptions(  monochrome = true,
        features = "src/test/resources/features/",
        format = { "pretty","html: cucumber-html-reports",
                "json: cucumber-html-reports/cucumber.json" },
        dryRun = false,
        glue = "fr.tlasnier.cucumber" )

有效!

然而,我注意到在此之前,我有两个场景大纲。一个工作得很好,另一个找不到步骤定义!

真的很奇怪,因为这两种情况都有一些步骤。

3 个答案:

答案 0 :(得分:9)

@RunWith(Cucumber.class)

@CucumberOptions(  monochrome = true,
                         tags = "@tags",
                     features = "src/test/resources/features/",
                       format = { "pretty","html: cucumber-html-reports",
                                  "json: cucumber-html-reports/cucumber.json" },
                        dryRun = false,
                         glue = "fr.tlasnier.cucumber" )

public class RunCucumber_Test {
  //Run this
}

答案 1 :(得分:0)

我遇到了同样的问题。并且发现如果存在步骤定义的包尚未在相应的源文件夹中创建。 您可以尝试在fr.tlasnier.cucumber.step下创建一个类,然后想法应该能够找到这些步骤。我认为这是Idea中的一个错误。

答案 2 :(得分:0)

定义步骤的类应该是公共的。其他任何东西都会抛出未定义的步骤错误。