Intellij Idea Cucumber JVM未定义步骤

ktca8awb  于 2023-02-03  发布在  其他
关注(0)|答案(4)|浏览(189)

我不能用 cucumber 为一个项目执行一个简单的测试。我在Intellij 13社区,用 cucumber 插件。
我在features目录下写了features文件,我也实现了我的步骤,在插件的帮助下创建了它们,并且我在features文件中的步骤被intellij识别,intellij可以导航到步骤实现。
但是当我尝试运行我的场景时,它总是失败,因为对于每一步,它都显示"未定义的步骤:".
以下是我的项目的组织方式:

就像我之前说的,你可以看到我的脚步被Intellij识别了:

这怎么可能,我该如何纠正这一点?
任何帮助都很好!
编辑
现在我已经为跑步机添加了选项:

@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" )

真管用!
然而,我注意到在此之前,我有两个场景大纲。一个工作完美,另一个找不到步骤定义!
真的很奇怪,因为在两种情况下都有一些步骤。

im9ewurl

im9ewurl1#

@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
}
wgeznvg7

wgeznvg72#

在我的例子中,我运行的是intellij cubber for java插件,它不会自动检测胶水,所以你需要添加它。
运行-〉编辑配置然后在粘合部分,把步骤文件夹路径。

oug3syen

oug3syen3#

在其中定义步骤的类应该是公共的。否则将引发未定义步骤错误。

bbuxkriu

bbuxkriu4#

我也遇到过同样的问题,发现如果步骤定义所在的包没有在相应的source文件夹中创建,可以尝试在fr.tlasnier.cucumber.step下创建一个类,那么idea应该可以找到步骤,我认为是Idea的bug。

相关问题