在這個asp.net中,我正在清理它可能發生死鎖。我想確保代碼正確處理它們,所以我試圖編寫NUnit測試來觸發死鎖.....我可以在Nunit中創建數據庫死鎖測試嗎?
DAO被實體分割。每個實體都有一組測試,這些測試由Startup()和Teardown()方法包圍,這些方法創建一個事務範圍,然後在測試完成後將其回滾。這適用於其他任何事情,但對於死鎖完全沒有用處。
如何使用可以可靠複製的TransactionScope和SQL2000(即涉及MSDTC)來設置和運行「死鎖」測試? 更多詳細信息:我知道有這樣一種情況,即如果兩個用戶調用具有不同的特定數據值的兩個函數,那麼死鎖可以得到的結果。我如何在NUNIT中模擬這個 - 並且使得始終發生?
是的,我的確從「爲什麼不停止發生在第一個位置的死鎖」行動計劃開始,但我無法控制可能發生死鎖的代碼 - 我只是調用函數他們可能會陷入僵局。
我喜歡這個想法。我有模擬框架的想法,但從未使用過。我假設一個「ExpectAndThrow」方法實際上會導致異常被拋出,所以我的代碼可以捕獲它。我會進一步研究。 – 2008-10-10 10:29:17
這正是它所做的。我沒有使用它,但如果你有預算問題,Rhino.Mocks是免費的:http://ayende.com/projects/rhino-mocks.aspx – 2009-08-21 14:16:08