Mocha - 限制同时执行的异步'it'调用的数量

时间:2018-05-16 14:26:18

标签: javascript node.js asynchronous xmlhttprequest mocha

我正在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次调用?

有替代解决方案吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

Mocha 将首先注册所有 1000000 测试用例。然后它将逐个执行。
即使执行 it 函数 async < / strong>, Mocha 将在上一个测试用例之后运行下一个测试 。因此 it 调用同时执行。
因此问题确实与行有关:
let x = await func(...);所以可能 func 的行为不符合测试的要求失败了。