2016-11-16 113 views
0

感謝您閱讀我的問題。關於爲數據庫層創建單元測試的建議

我只是想知道如何爲現有的數據庫層創建單元測試。截至目前,我的項目已有單元測試,但沒有爲數據庫層或任何插入/更新/刪除數據庫數據的功能編寫單元測試。

我們正在使用Microsoft測試。我想這裏的一種方法是 1)我們將創建數據庫即時mdf文件,我們將保持我們的默認值準備在它和我們的設置方法(Nunit)或初始化方法(MS測試),我們將模擬對象和將虛擬數據轉儲到表中。

此外,我們沒有使用任何模擬框架。所以我都很迷惑。

我需要知道我們如何從頭開始做到這一點。還有什麼可選的可用於嘲笑框架。

任何指針或樣本將不勝感激。

再次感謝您。

回答

0

C#單元測試不應觸及數據庫,您應該模擬數據庫。應該可以在幾秒鐘內在本地機器上執行數千個單元測試(無需外部(互聯網,數據庫,其他應用程序))(並且您希望在構建代碼時運行它們)。

這讓我們對你的問題沒有回答:你的數據庫層測試應該做什麼?這取決於你在該程序集中擁有什麼樣的邏輯!如果你有「業務或決策」邏輯應該測試一下,如果你有映射邏輯測試的話。如果所有的數據庫層都使用(無論是哪種數據庫框架)將數據加載到你的數據庫上,那麼你可能沒有任何值得測試的東西。

如果你想測試你的數據庫執行的邏輯(比如說SP),你應該在數據庫項目中這樣做,而且很可能不使用mstest。

當然,您可以使用mstest設置和拆除數據庫並執行測試,但這些測試不會是單元測試。