我正在Mocha框架下运行一个测试,它执行了很多测试用例:
for (let i = 0; i < 1000000; i++) {
it(`test case ${i}`, async function() {
let x = await func(...);
assert(something about x);
});
}
func
是一个async
函数,它通过HTTP与远程进程通信。
此后不久,测试用例开始失败,我相信这是因为系统无法再发出异步HTTP请求。
由于it
在Mocha框架中实现,我无法控制它的执行方式。
有没有办法配置Mocha来限制同时执行的it
次调用?
有替代解决方案吗?
谢谢。
答案 0 :(得分:0)
Mocha 将首先注册所有 1000000 测试用例。然后它将逐个执行。
即使执行 it
的函数 async
< / strong>, Mocha 将在上一个测试用例之后运行下一个测试 。因此 it
调用不同时执行。
因此问题确实与行有关:
let x = await func(...);
所以可能 func
的行为不符合测试的要求失败了。