在这个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