2010-10-01 21 views
0

我想知道測試數據訪問功能的最佳方式。
我知道有可能創建mock來更改用於測試業務邏輯的數據層對象。
但是有可能測試對數據庫的sql查詢是否正確。
數據訪問(sql查詢)功能測試

情景:方法必須返回上個月申請工作的員工。
我可以返回對象列表並檢查每個員工的startDate屬性是否正確(上個月)。
因此,如果它返回3名員工,並且他們有正確的startDate值,但數據庫中還有兩名員工沒有返回。如何爲這種情況編寫測試? :)

在此先感謝。

回答

1

您設置了測試數據庫,以便您瞭解其中包含的數據。如果您希望從查詢中返回5名員工,並且只獲得3名員工,則知道存在錯誤。

您可以測試不同的設置查詢:空表,只把新員工,只有老員工,兩者的混合(特別小心的模棱兩可的案件)等

+0

哦,所以對於這種類型的測試,我需要使用測試數據庫,這將是更多的工作來同步數據庫結構與真正的數據庫,但我認爲它是值得的。感謝您的快速回答! :) – Danil 2010-10-01 20:07:26

1

我不認爲您需要檢查數據庫中未返回的其他兩名員工。

關鍵是,在設置測試數據時,您需要確保您有足夠的記錄,不符合匹配條件(除了匹配的記錄之外),然後運行提取並請確保您取回做的符合條件的正確記錄數。

以這種方式準備測試數據可確保您的方法返回預期結果。