注意:這不適用於單元測試或集成測試。這適用於應用程序運行時。在使用之前應該測試一個外部系統嗎?
我有連通到多個後端系統的系統,它可分爲三種類型
- 關係數據庫
- SOAP或WCF服務
- 文件系統(網絡共享) 上工作
由於環境會運行,所以不能保證在運行時可以使用這些環境中的任何一個。事實上,它們中的一些看起來非常脆弱,並且每天都會下降多次:(
思想是在實際代碼之前運行一小段測試代碼,如果出現問題,請繼續執行請求並輪詢直到目標系統可用爲止,可以在代碼中重新運行測試,以檢查它在邏輯點仍然可用。最終目標是建立一個非常穩定的系統,而不管系統的穩定性(或缺乏)它傳達
我解決此設計問題是:
- 與它有重大問題(小THI?像這樣的事實,它可能會在測試完成和代碼運行之間失敗)
- 是否有更好的方法來實現這種設計?
- 會使用傳統的異常處理和/或事務更好嗎?
更新
- 系統需要交談的後端系統以協調的方式。
- 該系統本質上是非常異步的,所以使用諸如排隊技術等很好。
- 即使一個或多個後端系統關閉,系統也必須運行,因爲其他系統可能正在啓動並且可能會處理某些信息。
我遇到這樣的「測試」這個術語是飛行前代碼。 – Morendil 2009-03-04 13:05:33
@Morendil在飛行前代碼上找不到任何東西...但我喜歡這個詞; – 2009-03-05 06:32:01