我是Jenkins的新手,並且正在嘗試爲我的iOS應用程序設置CI。我在項目中創建了一個單元測試目標,並配置了Jenkins以正確構建和運行我的單元測試,但在嘗試實際輸出其餘結果xml文件時構建失敗,我不確定我在做什麼錯誤。我借了很多想法從這些來源提出:Xcode 8 Jenkins JUnit錯誤:測試報告沒有找到報告文件
https://www.raywenderlich.com/22816/beginning-automated-testing-with-xcode-part-22 http://www.sailmaker.co.uk/blog/2013/04/02/advanced-jenkins-for-ios-and-mac/
我的實際控制檯日誌生成後看起來是這樣的:
=== BUILD TARGET run_to_it OF PROJECT run_to_it WITH CONFIGURATION Debug ===
Check dependencies
=== BUILD TARGET run_to_itTests OF PROJECT run_to_it WITH CONFIGURATION Debug ===
Check dependencies
** BUILD SUCCEEDED **
Recording test results
ERROR: Step ‘Publish JUnit test result report’ failed: No test report files were found. Configuration error?
Finished: FAILURE
我的構建步驟執行shell是這樣的:
export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer/
security unlock-keychain -p ${KEYCHAIN_PASSWORD} ${KEYCHAIN_PATH}
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k ${KEYCHAIN_PASSWORD} ${KEYCHAIN_PATH}
xcrun xcodebuild clean build CODE_SIGN_IDENTITY="${CODE_SIGNING_IDENTITY}" PROVISIONING_PROFILE=${PROVISIONING_PROFILE} OTHER_CODE_SIGN_FLAGS="--keychain ${KEYCHAIN_PATH}"
xcodebuild -target run_to_itTests -configuration Debug -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO TEST_AFTER_BUILD=YES GCC_TREAT_WARNINGS_AS_ERRORS=NO WANT_IOS_SIM=YES OBJROOT="${WORKSPACE}"/tmp/objs build | /usr/local/bin/ocunit2junit
我保證我已經安裝了必要的插件以及在/usr/local/bin
目錄安裝ocunit2junit
寶石以及具有安裝在詹金斯的JUnit
插件。
我不知道是否正在生成任何XML文件在所有的,因爲我已經通過在詹金斯工作區的每個文件夾看了看,見沒有這樣的XML文件的任何地方100%。我不確定是否需要在任何構建步驟中明確指定要創建的文件,還是默認處理該文件。我在網上看到了很多,我一直無法確定地解決問題。
對於上下文:我的Jenkins服務器此刻正在我的Mac上運行。我有一個Jenkins用戶,在我的本地機器上有一個工作區。我也在運行macOS Sierra
,我不確定測試報告文件夾是否存在任何權限問題。我看到該文件夾正在創建,但沒有任何XML文件放在它的內部。
如果我刪除Publish JUnit test report result
,那麼我的項目將成功構建。
是的,我懷疑也是這個問題,我找不到任何這樣的XML文件。我在jenkins目錄中梳理了項目的工作空間,發現沒有生成XML文件。你能否進一步闡述你的問題在測試中是什麼意思? – zic10
如果您想發佈Junit測試結果報告,您的單元測試必須在junit格式的xml文件中生成結果。是這樣嗎?你如何做你的單元測試?你的單元測試的輸出是什麼? –
我的單元測試是一個獨立的測試目標,它在代碼中運行一個單元測試。除此之外,我沒有其他配置。 – zic10