2015-02-10 58 views
1

我有算法需要來自數據源的數據,如mysql,cassandra,hdfs現在算法處理數據並存儲在相同locations.logic有輸入道,業務邏輯和輸出道。我通過嘲笑輸入和輸出dao來編寫單元測試,但是總代碼覆蓋率較低,因爲dao和服務沒有涉及如何確保這些類在測試用例中被覆蓋? 如何編寫dao類的單元測試? 通過調用真實數據庫的集成測試?如何在這種情況下編寫單元和集成測試?

回答

2

如何編寫dao類的單元測試?

你通常不會。

通過調用真實數據庫進行集成測試?

這是正確的方法。對DAO類進行單元測試幾乎沒有任何意義,因爲爲了編寫它們,你必須模擬出數據庫......這將導致測試什麼?你什麼都不會測試(或者最好是嘲笑)。

+0

我也沒有看到寫入單元測試的DAO類,只是插入或更新在表中的任何意義。但是如果它使用某些DB邏輯如存儲過程或一些數據庫鎖,那麼測試它就很有意義。 – 2015-02-12 15:49:38