2014-02-13 165 views
10

我不能用黄瓜执行一个简单的测试项目。我在Intellij 13社区,有黄瓜插件。黄瓜JVM undefined步骤

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

但是,当我尝试运行我的方案时,它总是失败,因为对于每一步,它都会显示“未定义的步:”。

这里是如何组织我的项目:

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

它的工作原理!

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

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

+0

跑步者是什么? – Bala

回答

7
@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 
} 
+0

现在有效。什么样的选择可能会带来解决方案,你能解释为什么吗?因为我还是不明白! ;) – Thibault

+3

它很可能是这个选项'glue =“fr.tlasnier.cucumber”'。因为它说'在哪里寻找胶水代码(stepdefs和钩子)' – Bala

+0

谢谢,为我的答案... –

0

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

+0

非常友好的分享。幸运的是,我从以下方面着手:D – Thibault

0

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