Asp.net

測試後 NUnit 回滾

  • April 28, 2011

我對 NUnit(以及一般的自動化測試)很陌生。我最近做了一些 Ruby On Rails 工作,並註意到在我的測試套件中,當我創建對象(例如新使用者)並在套件過程中送出它們時,它們永遠不會送出給數據庫,因此我可以執行一遍又一遍地測試,而不必擔心該使用者已經存在。

我現在正試圖在 NUnit 中完成同樣的事情,但我不太確定如何去做。我是否在 Setup 和 Teardown 塊中創建事務?謝謝。

為什麼要在單元測試期間與數據庫交談?預設情況下,這會使您的單元測試成為集成測試。相反,為所有數據庫通信創建包裝器,並在單元測試期間存根/模擬它。那麼你就不用擔心之前和之後的數據庫狀態了。

現在,如果您不願意進行那種級別的重構:事務的問題是您需要一個開放的連接。因此,如果您的測試目標方法自己處理所有通信,則很難注入您可以在設置時創建並在拆卸時回滾的事務。

引用自:https://stackoverflow.com/questions/5818644