我正在實現一個接口到一個C#類,其整個工作基本上只是調用一些T-SQL存儲過程並返回數據。接口的其他實現可以通過Web服務獲取數據,讀取文件等,以便測試這個特定的類,我最好模擬一個SQL Server數據庫及其過程。模擬對SQL Server存儲過程的調用?
我不確定這是否可行。我見過像RhinoMock這樣的工具用於模擬數據庫表,但由於我的代碼的全部目的是與數據庫交談,我可以模擬整個數據庫還是浪費時間?理想情況下,我希望能夠透明地提供替代方案,以便擁有真實的數據庫,以便進行本地測試,從而實現真正的存儲過程對虛假數據庫的調用。
你確定@inquisitive_mind?這將是理想的,但:http://stackoverflow.com/questions/3335162/creating-stored-procedure-and-sqlite –
@montewhizdoh你可能是對的! –
我認爲這一切都取決於。你真的不想寫單元測試,最終結束測試代碼而不是你寫的東西。測試一下連接的工作方式是否屬於「我測試SQL Server,還是測試我的代碼?」這個灰色區域?和「我使用正確的連接字符串嗎?」。最好問:存在哪些代碼路徑,從存儲過程傳入和傳出?測試是否與功能用例並存?如果你是TDD,你希望與功能用例密切配合 - 那時,一切都將開始良好吻合。 – code4life