【发布时间】:2021-02-03 01:32:34
【问题描述】:
如何异步(并行)对一组数据运行相同的 mocha 测试?
这是我目前拥有的代码:
const testData = [{'array': 'of data here'}];
describe('run these test to data', () => {
testData.forEach((data) => {
describe('mocha test', () => {
it('asserts data', () => doStuff())
})
})
})
我尝试使用async package each,但测试运行的时间与以前相同。
目标是减少测试运行的时间。
【问题讨论】:
-
Node.js 在单线程中运行,因此这无法在您期望的级别上完成。尝试 mocha v8+(和标志 --parallel)它支持并行运行测试,具有相同的目标,以减少运行所有测试所需的时间。虽然我仍然不确定数组测试。
-
感谢@BorisKukec。我已经有了这个,但并行在不同的文件上。我的一个解决方案是分解数组并将其放在不同的文件中,因此如果数组中有 8 个项目,则其中 4 个项目将在不同的文件上运行。
-
是的,我知道不同的文件。我的想法正是关于将长阵列分解成更小的部分。这似乎是最干净的解决方案。
标签: javascript node.js mocha.js