2016-11-07 69 views
1

有人可以告訴我:當測試方法失敗時如何截圖(jUnit 5)。我有一個基本的測試類與BeforeEachAfterEach方法。任何其他具有@Test方法的類都會擴展基類。如何在junit上測試失敗截圖5

+0

爲什麼你想要截圖?究竟是什麼? – Nicolai

回答

1

嗯,可以編寫採用截圖的java代碼,例如參見here

但我非常想知道你試圖用這種方法解決的實際問題。我不確定你是否已經認識到了這一點,但JUnit的主要目的是爲您提供一個在各種環境中運行測試的框架。

當然,你可以在你的IDE中運行JUnit很好,也許你會發現它有助於得到一個截圖。但是:「通常」單元測試也在夜間構建中運行,並且在「截屏」的環境下可能不會使有任何意義!

除此之外:screenshorts是一個非常收集信息的無效方式!當你失敗時,你應該鎖定文本日誌文件,html/xml報告,無論如何。你希望那些失敗的測試產生可以容易地消化的信息。

所以,真正的答案是:退出現在你正在做的事情,並重新考慮非屏幕截圖解決方案,以解決你實際想要解決的問題!

+0

嗨!感謝您的回答!但是我在appium上使用這個框架並在ios真實設備上運行測試。這將是有用的截圖,看看問題是什麼。 –

1

您不需要爲JUnit測試失敗/傳遞進行屏幕截圖,而是推薦的方法是自動生成各種報告(測試通過/失敗報告,代碼覆蓋報告,代碼複雜性報告等)。低於工具/插件。

您可以使用的Cobertura Maven插件Sonarqube代碼質量工具使這些將自動爲您生成報告。

你可以看看here的Cobertura,Maven的插件hereSonarqube瞭解更多詳情。

您需要將這些工具與您的CI(持續集成)環境集成,並確保如果代碼沒有通過某些質量(測試覆蓋率,代碼複雜度等),那麼項目構建(戰爭/耳朵)會自動失敗。