2014-02-13 60 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

定義步驟的類應該是公開的。其他任何東西都會拋出未定義的步驟錯誤。