如何使用NUnit和測試數據庫來驗證我的代碼?我會理論上使用mocks(moq),但是我的代碼更多的是維護形式並修復了它的模式,我沒有設置所有的mock。使用單元測試和測試數據庫
我只是創建一個測試項目,然後寫測試,實際連接到我的測試數據庫,並執行代碼,因爲我將在應用程序中?然後,我用斷言檢查代碼,並確定我要求的是我正確返回的內容?
如何使用NUnit和測試數據庫來驗證我的代碼?我會理論上使用mocks(moq),但是我的代碼更多的是維護形式並修復了它的模式,我沒有設置所有的mock。使用單元測試和測試數據庫
我只是創建一個測試項目,然後寫測試,實際連接到我的測試數據庫,並執行代碼,因爲我將在應用程序中?然後,我用斷言檢查代碼,並確定我要求的是我正確返回的內容?
我該如何使用NUnit和測試數據庫來驗證我的代碼?我會 理論上使用嘲笑(MOQ),但我的代碼更多的維護形式和 修復它的模式,我沒有設置所有的嘲笑。
如果您想測試某個類的確切實現行爲,那麼僅使用mock是有用的。這意味着你從字面上斷言一個類調用另一個類的特定方法。例如:我想斷言Ninja.Attack()調用Sword.Unsheath()。
難道我只是創建一個測試項目,然後寫測試,實際上 連接到我的測試數據庫和執行代碼,因爲我wwould在 應用程序?然後我用斷言檢查代碼,並確定我要求的 是我正確回覆的內容?
這只是一個普通的舊單元測試。如果實現這一目標沒有障礙,那麼這是一個很好的指標,這將成爲您最有效的測試方法。這是實用和高效的。
還有一個你沒有提到的測試工具,叫做存根(stub)。我強烈建議你閱讀這篇更多信息經典文章:
謝謝,測試數據庫它是我的話。所以只需用我的代碼調用數據庫並測試它的正確性。 – cdub
這可能看起來太美好,但它是真實的,但它的工作原理。特別是考慮到您的應用程序已經寫好。 –
因爲我們不是在談論理論上的情況下,這是我會做什麼 - 從我的理解,你要測試的是,無論你的應用程序正確連接到數據庫並獲取所需的數據或不。
另外,我不認爲DB這些測試應該被稱爲單元測試,因爲它們不是自包含的,並且依賴於其他因素,如你的數據庫是否正常運行與否。我會說他們接近於集成測試,它將測試應用程序的不同組件是否按照預期一起使用。
(丹的回答^^幾乎總結了我想說的話)
是寫作壽的+1 – cdub
這聽起來像你實際上意味着集成測試。單元測試是孤立的,提供依賴關係的模擬/假實現來測試他們不會有任何數據庫代碼的方法。 –