2014-05-25 71 views
1

當我運行基於黃瓜的項目時,表現得好像找不到Steps類 - 我可以說因爲Jenkins上的日誌提供了用於實現的代碼片段。帶有gradle的黃瓜應用程序在本地運行良好,但在Jenkins上運行失敗

我使用Gradle,我知道有問題的黃瓜 - jvm。

構建文件的相關部分:

task cucumber(type: JavaExec) { 
    dependsOn assemble, compileTestJava 
    main = "cucumber.api.cli.Main" 
    classpath = configurations.cucumberRuntime + sourceSets.main.output + sourceSets.test.output 
    args = ['-f', 'pretty', '--glue', 'steps', 'src/test/resources'] 
    systemProperties = System.getProperties() 
} 

我不明白爲什麼通過詹金斯失敗運行相同的命令(./gradlew乾淨黃瓜)?

這裏的輸出從詹金斯:

+ ./gradlew -Dapk=/Users/rakesh/workspace1/AcmeApp_4_10_Tiles/bin/AcmeApp_4_10_Tiles.apk clean cucumber 
:clean 
:compileJava UP-TO-DATE 
:processResources UP-TO-DATE 
:classes UP-TO-DATE 
:jar 
:assemble 
:compileTestJava 
:cucumber 
Feature: Thrid party request for the Landing page. 
    TODO: additional requests for box connection 
... 

You can implement missing steps with the snippets below: 

@Given("^the user chooses not to login$") 
... 

BUILD SUCCESSFUL 

Total time: 8.074 secs 
$ /Users/rakesh/Apps/adt-bundle-mac-x86_64-20131030/sdk/platform-tools/adb disconnect emulator-5812 
[android] Stopping Android emulator 
[android] Archiving emulator log 
$ /Users/rakesh/Apps/adt-bundle-mac-x86_64-20131030/sdk/platform-tools/adb kill-server 
Finished: SUCCESS 
+0

請提供有關失敗的所有相關詳細信息(確切的錯誤消息,堆棧跟蹤,Gradle版本等)。 –

+0

沒有錯誤。當黃瓜沒有找到步驟時,它會打印出它正在做的樣本代碼。 Gradle的版本是1.9。 – FinalFive

+0

即使我想使用包裝,我是否必須安裝Jenkins gradle插件? – FinalFive

回答

1

我解決了這個問題,它有無關黃瓜,gradle這個或詹金斯!我已經重新命名了步驟類(case change),它完全混淆了Subversion和java步驟類實際上是錯過了!

2

我還想提一下,如果在build.gradle中缺少依賴項,有時會發生此問題。

在我的情況下,下面的語句中的build.gradle主要任務是缺少..

dependsOn assemble, compileTestJava 

添加此,解決了問題。

相關問題