天天看點

Jenkins執行完建構後testng插件找不到testng-results.xml

昨天把Jenkins(ver. 2.107.1,此處注意,幾乎是一個最新的Jenkins版本)安裝在mac上,并建了一個簡單的job,來體驗下Jenkins+Maven+testng的效果,遇到這樣一個有意思的問題,就是使用預設設定,也配置了testng的測試結果報告插件,

Jenkins執行完建構後testng插件找不到testng-results.xml

當Jenkins建構執行後,也可以正常找到指定的pom.xml檔案,并執行Maven指令mvn test -PmyTestngProfile.xml來啟動測試,但是測試完成後,卻顯示:

TestNG Reports Processing: START

Looking for TestNG results report in workspace using pattern: **/target/surefire-reports/testng-results.xml

Did not find any matching files.

花了點時間研究下,在Configure裡的TestNG XML report pattern裡,隻有設定為完全絕對路徑的時候,才能找到testng-results.xml。

揭曉答案吧,其實就是當建構進行到去尋找testng-results.xml的時候,目前目錄并不是最開始的項目代碼目錄(pom.xml所在的目錄),而是下面這個Jenkins在mac上安裝後的一個預設workspace,然後以此為目前目錄繼續建構工作。

/Users/Shared/Jenkins/Home/workspace/myProject

解決辦法是去建構的Configure -> General -> Advanced… -> Use custom workspace,也即使用自定義的工作空間目錄,把這個目錄設定為項目代碼的真實位址,然後建構就會以此為目前目錄,然後就可以順利找到testng的報告檔案了。

Jenkins執行完建構後testng插件找不到testng-results.xml

繼續閱讀