我有一個Maven託管的Java項目,其中包括JUnit測試 - 沒有什麼不尋常的。最近,我開始在我的機器上破壞構建,但哈德森保持高興。我意識到我做了一個改變,打破了單元測試,但注意到哈德森沒有進行單元測試。我的大部分測試運行良好,但我的一個軟件包中的所有內容都完全沒有。未列爲「跳過」,但實際上缺少。哈德森運行一些測試,但不是其他人
現在,我沒有設置這個Hudson實例,而且我也不是大師,所以我不確定從哪裏開始。沒有特別的順序:
- 我查看了項目設置頁面,並複製了正在使用的確切Maven命令行並在本地運行。 POM中有一些Hudson特定的配置文件設置,所以我認爲這值得一試。缺少測試仍然運行(並失敗)。
- 我試圖看看舊的處決,看看也許這是最近的變化。不幸的是,我們只保留了5箇舊的版本,所以死在那裏。
- 我仔細檢查了POM,看是否有任何東西可能導致它排除測試 - 不是Maven 天才,但我可以非常自信地說,不應該有任何東西,無論如何它不應該因爲子彈#1
- 我下載了Hudson工作區。有趣的是,有
/target
具有.class
文件全部丟失的測試下一個test-classes
目錄,但/target/surefire-reports
沒有匹配的輸出文件
我覺得我必須缺少某種設置某處的,或至少一些這種日誌文件可能表明這是怎麼發生的 - 也許測試失敗了那麼對於在啓動失敗之前調用它們的Surefire進程是非常糟糕的? - 但就像我說的,哈德森newb。我的下一步應該是什麼?
更新:在本地安裝Jenkins並嘗試重現。我失去了我的腦海:它仍然無法運行相當多的測試,即使我登錄自己,去詹金斯工作的工作空間,並建立
- 下我自己的帳戶
- 用我自己的地方平方米回購(從網絡驅動器)
- 使用相同的Maven/Java二進制文件(從網絡驅動器)
- 運行相同的OS
據我所知,在兩臺機器上的源是一樣的,我的環境應該是一樣的(相同帳戶)......我想不出有什麼不同,除了當然,很多測試不能在詹金斯盒子上運行。
如果您可以以某種方式登錄Hudson框併成爲運行Hudson構建的用戶,請在那裏運行相同的Maven命令並查看會發生什麼。 –
你的目標和選擇是什麼(在作業配置中)?你可以發佈你的配置截圖嗎?謝謝。 – Rudy
不幸的是,這個哈德森是在一個內部網絡,並從互聯網airpapped,所以帶來一個截圖並不是微不足道的。我正在努力以交互方式再現測試未運行的問題;如果我無法追蹤,我會在這裏跟進。 – Coderer