我需要测试一些ASP.NET代码,它们通过调用MS-SQL数据库来处理超时异常。
我能够减少连接上的CommandTimeout参数,但这可能会在到达我的代码之前导致错误。
是否有一种简单的方法可以使数据库在“cue”上超时?
答案 0 :(得分:10)
您正在寻找的是先生是WAITFOR命令,只要您愿意,就可以排队等待数据库超时。
答案 1 :(得分:3)
在管理工作室SQL窗口中开始事务,更新表,不提交它:
BEGIN TRAN
UPDATE table SET ...
这将锁定任何尝试阅读该表的网站。
答案 2 :(得分:1)
难道你不能在想要测试的任何try块中抛出你想要的异常吗?
答案 3 :(得分:0)
编写一个循环程序,为每次迭代执行一些复杂的任务而循环...如果这还不够,可以通过递归调用存储过程来进一步扩展它!
答案 4 :(得分:0)
我通过拔掉我的以太网线缆来骗取了这个......
答案 5 :(得分:0)
开始测试,然后关闭数据库服务器(sc停止“MSSQL $ SQLEXPRESS”或其他东西)。
答案 6 :(得分:0)
您可以考虑使用mock替换数据库连接,这可以简化您的测试。
在这种情况下,模拟只会发出超时信号。
答案 7 :(得分:-1)
记下执行时间超过30秒的过程或查询 从asp.net代码中调用它。