我有一個問題,其中測試任務間歇性失敗(我懷疑這是因爲jacoco在測試期間觸發[生成報告])。測試期間gradle跳jacoco
有沒有辦法在測試期間禁用jacoco運行?我可以創建一個新的任務,僅用於生成覆蓋率報告(我想知道如何做到這一點)。有很多情況下,我在運行測試任務時並不真的需要測試覆蓋率報告。
我有一個問題,其中測試任務間歇性失敗(我懷疑這是因爲jacoco在測試期間觸發[生成報告])。測試期間gradle跳jacoco
有沒有辦法在測試期間禁用jacoco運行?我可以創建一個新的任務,僅用於生成覆蓋率報告(我想知道如何做到這一點)。有很多情況下,我在運行測試任務時並不真的需要測試覆蓋率報告。
如果它在Jenkins上運行,則錯誤137可能是內存不足問題。
如果它在Jenkins上運行,請嘗試擴展內存並檢查此鏈接。
Jacoco任務:
jacocoTestReport - JacocoReport Generates code coverage report for the test task.
jacocoTestCoverageVerification - JacocoCoverageVerification Verifies code coverage metrics based on specified rules for the test task.
要找出哪些任務有哪些依賴關係,你可以做
gradle tasks --all
要使用CMD排除任務可以
gradle test -x taskToExclude
編程您可以使用任務圖來排除它
gradle.taskGraph.useFilter { task -> yourstuff}
或簡單地從測試任務相關刪除
test.dependsOn.remove("jacocoTestReport")
test.dependsOn.remove("jacocoTestCoverageVerification")
其他資源值得一試: https://docs.gradle.org/current/userguide/jacoco_plugin.html
謝謝,我指出jacoco在執行時會消耗大量內存。 我會嘗試調整JVM設置,但如果可能的話,我想在測試任務期間避免執行jacoco。 如果需要,我想添加一個新的目標來生成報告。 – Suraj
@Suraj我編輯了答案,我希望它能解決你的問題:) – LazerBanana
非常感謝@Krystian_K。我會嘗試這個,並會讓你知道。 – Suraj
我們可以看到一個堆棧跟蹤?你可以用-stacktrace來運行你的gradle cmd來回答你的問題 - 是的,你可以用-x taksname排除執行階段的任務 – LazerBanana
請在http://pastebin.com/UtWMYtwk找到它 我想排除與測試一起運行的jacoco任務,我不知道這些任務的名稱。 – Suraj
它可能是不是測試任務失敗?這是否會在任何機會或本地運行詹金斯? – LazerBanana