如果超过1秒,我希望每个测试都以错误终止。
我正在使用Facebook的Jest库,在JSX中编写测试并从Gulp运行它们(这意味着它们在node.js上运行)。
答案 0 :(得分:0)
当然,但这显然取决于您的测试框架。我使用的是mocha,它支持suite和test-specific超时。
答案 1 :(得分:0)
理论上,是的。这很简单:
setTimeout(function() {
// Print tests that haven't run and clear queue
}, /* timeout here */);
但是事件循环可能会被饿死。例如:
(function foreverRun() {
process.nextTick(foreverRun);
}());
为了解决上述问题,您需要在处理nextTickQueue
期间破解Node的内部强制短暂中断,以检查测试状态。
对于严格的Node解决方案,更有把握的方法是在子进程中运行测试脚本并在超时后终止它。