我正在测试/确认一些数据库锁内容,并且我想站起来进行一个测试,该测试将确认如果我锁定行,请求(“ request-promise”库)将挂起。
一些无效的想法是
request(options).catch((response) => {})
assert.throws(fn, Error, "timeout")
我继续收到此消息:Error: Timeout of 10000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.
是否可以断言此超时发生?
答案 0 :(得分:2)
在Mocha测试(或describe
,before
等)中,this.timeout(msec)
将更改测试可以运行多长时间,然后Mocha会认为测试失败。
查看Mocha documentation以获得更多信息。
答案 1 :(得分:0)
我的解决方案是将超时时间设置为预期超时时间的一半。
setTimeout(function(){ done(); })
然后在我的端点中答应我收到的答复
done(new Error("Timeout should have happened.");
这样,如果发生超时,将调用done
。如果没有发生,那么done
会被调用而出错。