Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在摩卡,我可以断言请求超时吗?_Javascript_Testing_Mocha.js_Chai - Fatal编程技术网

Javascript 在摩卡,我可以断言请求超时吗?

Javascript 在摩卡,我可以断言请求超时吗?,javascript,testing,mocha.js,chai,Javascript,Testing,Mocha.js,Chai,我正在测试/确认一些DB锁的东西,我想进行一个测试,确认如果我锁定行,请求(“请求承诺”库)将挂起 一些不起作用的想法是 request(options).catch((response)=>{}) assert.throws(fn,错误,“超时”) 我继续收到此消息:错误:超时超过10000ms。对于异步测试和挂钩,确保调用“done()”;如果返回承诺,请确保其得到解决。 是否有一种方法证明超时发生?描述< /代码>, >之前), >此。超时(MSEC)将改变测试运行多长时间,之后MOCA

我正在测试/确认一些DB锁的东西,我想进行一个测试,确认如果我锁定行,请求(“请求承诺”库)将挂起

一些不起作用的想法是

request(options).catch((response)=>{})

assert.throws(fn,错误,“超时”)

我继续收到此消息:
错误:超时超过10000ms。对于异步测试和挂钩,确保调用“done()”;如果返回承诺,请确保其得到解决。

是否有一种方法证明超时发生?<摩卡测试(<代码> >描述< /代码>,<代码> <代码> >之前),<代码> >此。超时(MSEC)将改变测试运行多长时间,之后MOCA将考虑测试失败。

检查更多信息。

< P>在MOCA测试(或<代码>描述< /代码>,<代码> <代码> >之前),<代码>此。超时(MSEC)将更改测试运行多长时间,之后MOCA将考虑测试失败。


查看以了解更多信息。

我的解决方案是将超时时间设置为预期超时时间的一半

setTimeout(函数(){done();})

然后在我的回答中

done(新错误(“应该发生超时”);


这样,如果超时发生,
done
将被调用。如果没有发生,则调用
done
时出错。

我的解决方案是将超时时间设置为预期超时时间的一半

setTimeout(函数(){done();})

然后在我的回答中

done(新错误(“应该发生超时”);


这样,如果超时发生,
done
会被调用。如果没有发生,那么
done
会被错误调用。

我认为,如果我们研究两个不同且独立的超时问题,结果会更好。(1)测试超时和(2)断言超时timeout应该是您定义的一个值,它确定是否满足“挂起”条件。例如,您可以说5s就足够了。然后(1)timeout只需要稍微多一点(例如1s)。您的DB库应该有一些超时机制(在5s时超时),您现在可以轻松断言。否则,请使用
setTimeout
手动断言超时。我认为,如果我们研究两个不同且独立的超时的问题,结果会更好。(1)测试超时和(2)断言超时。(2)超时应该是您定义的值,用于确定是否存在“挂起”满足条件。例如,您可以说5s就足够了。然后(1)超时只需要稍微多一点(例如1s)。您的数据库库应该有一些超时机制(在5s时超时),您现在可以轻松断言。否则,请使用
setTimeout
手动断言超时。