2013-10-07 85 views
1

如何編寫一個包含數據庫事務的junit測試用例,並且我們不確定輸出結果..讓我們在查詢基於多個條件查詢後從查詢或ID中獲取計數。如果我們檢查count> 0或Id> 0,這是一個有效的比較嗎?如何編寫未知輸出的JUnit測試用例

+6

用夾具初始化你的數據庫或模擬它。 – 2013-10-07 09:06:48

+0

是的,一般來說,沒有依賴於可能處於未知狀態的* real *數據庫的單元測試。 –

回答

3

測試的整個概念依賴於匹配實際狀態與預期。這意味着期望已經被很好地定義並且事先已知。

我想你想檢查交易,在這種情況下,你應該模擬數據。

您可以從預定義的模擬數據(始終是相同的數據)開始,以便代碼將查詢現有數據,並且您將確切知道預期返回的內容。

或者,您可以在測試開始時創建一個隨機數據並構建測試流程,以便您始終知道查詢的結果。

雖然這些方法幾乎相同,但當需要在同一個模式/數據庫上並行運行測試時,第二個方法很方便。另一方面,也許這樣的測試編碼會有些棘手。

希望這可以幫助