如果限制在一个内核中运行,JEST测试套件将失败

时间:2019-03-28 16:23:33

标签: asynchronous testing jestjs integration-testing numactl

场景:使用React和Redux的前端打字稿项目。我们有大约800个测试,分布在150个测试套件中。其中一些测试是单元测试,而其他实际上是集成测试。有时,我们会模拟后端调用,我们将其用于填充Redux存储。后端调用在生产代码中是异步的,因此在测试中使用asyncawait时,即使它们是模拟的,我们也会使用它们。

使用通话

npm test

表明所有测试都是美丽和绿色的。但是:

numactl -C 0 npm test       # one test is red 

使一项测试失败。添加第二个CPU:

numactl -C 0,1 npm test     # all tests are green

足以使所有测试顺利通过。我试图了解是什么原因造成的,但老实说,我没有任何线索。我看不到工作的CPU数量与测试成功之间的联系:(有人遇到过类似的情况吗?

其他信息:如果我禁用了红色套件所属的测试套件中的其他测试,则调用numactl -C 0 npm test可以正常工作(即所有测试均为绿色)。

我知道我所提供的信息很少。我会很乐意提供您认为相关的任何信息(也可能使我走上正轨!)。任何小提示将不胜感激。谢谢!

0 个答案:

没有答案