只是想知道如果任何人有任何想法如何測試一個數據訪問方法。我發現測試檢索數據訪問方法更容易,因爲我可以嘲笑ExecuteReader並返回填充的dataTable.CreateDataReader()。通過這樣做,我可以測試是否返回結果集以查看我的對象是否正確填充。測試數據訪問堅持方法
但是,如何將其轉換爲我堅持不懈的方法(即添加,更新,刪除等)。我想測試的是它是否正確填充命令參數等。
任何想法? 乾杯
只是想知道如果任何人有任何想法如何測試一個數據訪問方法。我發現測試檢索數據訪問方法更容易,因爲我可以嘲笑ExecuteReader並返回填充的dataTable.CreateDataReader()。通過這樣做,我可以測試是否返回結果集以查看我的對象是否正確填充。測試數據訪問堅持方法
但是,如何將其轉換爲我堅持不懈的方法(即添加,更新,刪除等)。我想測試的是它是否正確填充命令參數等。
任何想法? 乾杯
我們使用內存數據庫(hsql)進行單元測試。安裝程序啓動一個交易,拆卸將其折回。然後你總是知道你單元測試中db的狀態。
對於我們的o/r mapper框架LLBLGen Pro,我們使用專門的數據庫進行測試,併爲每組功能提供不同的測試項目。因此,我們有一個特殊的插入/更新數據庫,例如用於測試繼承相關操作的特殊數據庫,用於巨集的特殊數據庫以及用於提取的特殊數據庫。最重要的是,我們已經將不同項目中的單元測試分開了:面向讀取,面向LINK提供者,面向插入/更新/刪除,面向內存的東西,等等。
這樣,測試是可維護的並且不會不會影響彼此。有了這些特殊的數據庫,我們知道該期待什麼以及該做什麼。
這也取決於你持續性邏輯測試的意義:如果你想像我們一樣測試框架級例程,那麼嘲笑是真的沒什麼用處:你想測試真正的交易在情況下,它涵蓋了大部分(如果不是全部)案例。如果您真的在討論測試使用框架級代碼(例如您的存儲庫代碼)的代碼,那麼嘲笑可以提供幫助,只要使用的框架當然沒有錯誤。 :)