我們使用JUnit來執行集成測試以及依賴外部測試系統(不一定由我們自己的公司維護)的系統集成測試。在執行測試之前,驗證外部系統是否可用的最佳位置是什麼?
我想知道在運行測試用例之前將代碼放在哪裏以檢查系統是否可用?所以我可以確定是否有網絡或其他問題,而不是測試本身。
JUnit允許在JUnit-Rules中設置測試的某些部分。在規則中設置與外部系統通信的服務並在規則內對外部系統執行一些基本檢查(「ping」)是否是一個好主意?或者存儲狀態並在Test中使用JUnit假設(rule.isAvailable)來避免執行測試?
或者將此驗證代碼放在自定義JUnit Runner中會更聰明嗎?
還有甚至有另一種方法來做到這一點? (簡單地創建一些utils?)
如果某些條件沒有被滿足,目標是跳過測試,因爲很明顯測試會失敗。我知道這表明一個錯誤的異常處理,但有很多遺留代碼我不能完全改變。
我試圖自己找一些文章,但似乎搜索條件(「測試」,「外部系統」等)有點吃力。
謝謝!
規則方法很好。 –