2016-07-22 51 views
0

我遇到了測試問題CRUD使用的操作JUnit使用JUnit測試數據庫中的CRUD操作

我有一個Java應用程序與本地數據庫一起工作,我必須測試這個數據庫的實體的CRUD操作。

如果我實際上不能使用它們,我該如何測試CRUD操作?

例如,要測試創建操作是否有效,我必須驗證新創建的條目實際上是否與輸入數據相對應。如果我無法訪問Read操作,我該如何做到這一點?

+0

CRUD - 創建,檢索,更新,刪除。我不能真正使用它們是什麼意思? – Unknown

+1

嘗試使用框架,如dbunit或dbsetup – noscreenname

+0

我的意思是我不能說如果讀操作是正確的,所以測試創建操作,假設讀取將工作是錯誤的。 而我不能使用dbunit,這是一個學校的事情,我必須使用junit – VGordon

回答

1

我認爲你已經有了正確的答案,但無法遵循它或採取行動。 您想到的想法是這樣的: 您不能對生產代碼和測試代碼使用一組操作。可以這麼說:您需要兩套獨立的操作,其中您用於測試代碼的操作已經被證明可以正常工作。

Independent Sets of Operations: Production vs Test

例如,當你要測試的創建實體操作,則需要通過其他渠道來測試數據庫的狀態(例如,通過選擇與JDBC/SQL),這已經正常工作。 另一個測試案例可能是您希望測試實體操作的讀取。然後,在您調用實體的操作之前,您應該通過JDBC/SQL設置數據庫的初始狀態,並使用INSERT,然後調用該實體的操作以檢查預期結果。

這兩組獨立的測試方法非常重要,因爲在測試之前您不能依賴它們。使用已經測試過的另一套獨立方法,打破了這個雞蛋問題。