错误 运行 他是 CircleCI: "npm test died unexpectedly"

Error running Jest on CircleCI: "npm test died unexpectedly"

运行 我在 CircleCI 上的 Jest 测试套件 比本地慢很多,导致 CircleCI 中出现错误 npm test died unexpectedly.

让您了解 CircleCI 与本地测试持续时间的差异(在 MacBook Air 2012 上,fwiw):

圆CI:

97 tests passed (97 total in 25 test suites, run time 123.918s) npm test died unexpectedly

本地:

97 tests passed (97 total in 25 test suites, run time 13.601s)

我发现的与 Jest 和 CircleCI 相关的唯一半相关信息是 this issue regarding controlling memory usage,但是我 不认为 这个问题体验是相关的,但话又说回来,如果我知道这个问题,我就不会在这里 :)

对此处可能发生的事情有任何想法,或调试技巧吗?

感谢 #jest channel, I was able to reduce the test runtime down to ~21s by running my tests with --runInBand 中的@cpojer,其中:

Run all tests serially in the current process (rather than creating a worker pool of child processes that run tests). This is sometimes useful for debugging, but such use cases are pretty rare.

它死了可能是因为内存不足。 (CircleCI 默认为 4 Gb)另一种方法是使用 --maxWorkers=2 而不是 --runInBand--runInBand 在单线程中运行所有测试,而您可以通过调整 maxWorkers 来优化它,这样您就不会内存不足并加快测试速度。