2008-11-05 185 views
1

運行集成測試時(Web Service與JDBC通話,在這種情況下)如何強制數據庫發出錯誤,以便檢查產生的soap錯誤?Incite數據庫集成測試失敗

我正在使用Spring的Transactional Test Framework,因此僅僅發出DROP TABLE whatever;來打破它是不合理的? :D

回答

1

根據我的經驗,這是模擬對象的優秀用法。特別是在需要引發特定故障的情況下,以便在集成測試的情況下測試您的對象(如果是單元測試或一組對象)將如何處理特定故障。最好是完全控制故障,而不是強制集成測試中發生特定故障。

我最近與一個實體框架,我遇到了類似的困境。通過爲實體創建模擬對象,我可以強制執行某些測試時在方法調用期間拋出異常,以便測試與數據庫交互的失敗情況。這不是一個處理Spring的交易框架的答案,但我確定同樣的原則適用。

+0

我的單元測試涵蓋了什麼可以嘲笑。這是在QA環境中部署的最終測試,以查看整個場景一起播放。 – tunaranch 2008-11-05 07:25:25

0

會拔掉數據庫服務器的網線嗎?這很好地模擬了「數據庫死亡」。

+0

是的,它會太多,因爲會有其他的東西訪問它。 (從來不介意這樣一個事實,就我而言,我們無法訪問物理服務器基礎結構) – tunaranch 2010-10-31 04:26:27