2013-10-22 152 views
1

我有一個文件夾的佈局是這樣的:黃瓜在哪裏尋找cucumber.xml?

src/integrationTest/java/ 
    com/eric/ 
    RunCukeTest.java 
    StepDefs.java 
src/integrationTest/resources/ 
    features/ 
    foo.feature 
    cucumber.xml 
src/main/java/ 
    com/eric/ 
    java-spring.java 
src/main/resources/ 
    com/eric/ 
    applicationContext.xml 

我有黃瓜春1.1.5在我的類路徑

我不能讓RunCukeTest.java拿起cucumber.xml當我作爲一個JUnit測試運行在日食。黃瓜如何解決cucumber.xml應該生存的地方?

謝謝! 埃裏克

回答

2

它應該在資源目錄的根。在你的情況下,它應該是src/integrationTest/resources

0

在黃瓜1.1.5 cucumber.xml不讀。在1.1.3之前,cucumber-spring jar中的SpringFactory類使用SpringFactory類的靜態塊中定義的applicationContext來加載在cucumber.xml中定義的bean。

1

One of the commits v1.1.4引入了SpringFactory類,其中「cucumber.xml」已從要加載的應用程序上下文文件列表中刪除(仍在嘗試弄清楚原因),並對其進行了重大更改。

要解決這個問題,您必須在步驟定義類中使用@ContextConfiguration({"cucumber.xml"})

的src /測試/ JAVA /示例/黃瓜/ Runner.java

@RunWith(Cucumber.java) 
public class Runner { 
    // nothing here 
} 

的src /測試/ JAVA /示例/黃瓜/ RunnerStepDefs.java

@ContextConfiguration({ "cucumber.xml" }) 
public class RunnerStepDefs { 

    @Autowired 
    private SuperBean super; 

    // moar stuff 
} 

測試用Spring 3.0.6和Cucumber-JVM 1.1.5。