我正在用EC2 Jenkins从站上的Jest和Puppeteer运行60个E2E测试。测试时间介于7-90秒之间,平均为24秒-表示依次运行约24-25分钟时的总时间。
在运行jest -w 10
时,它会并行运行10个测试,但是每个测试都花费更长的时间,时间类似于jest --runInBand
都在大约24-26分钟左右结束。
我阅读了this和相关链接,由于假定资源有限,并且仍然没有影响,因此将我正在运行的计算机更改为r5ad.12xlarge
(48核,384 GB!)。总运行时间。我做了更多尝试:
- 尝试使用
--ci --detectOpenHandles
和不使用NODE_OPTIONS=--max_old_space_size=4096
仍然没有。 -
node --expose-gc ./node_modules/.bin/jest --runInBand --logHeapUsage
也没有更改。 - 使用默认的2、3、9、15 ...个工人来工作。
- 使用
xml
检查了堆的使用情况,并发现了一些泄漏-堆的使用量逐渐从约100MB增加到1100MB - 尝试在计算机上本地运行(没有詹金斯的资源限制...)
我的问题是我是否缺少某些东西(国旗,詹金斯经纪人政策)?也许出于E2E的目的,我应该尝试其他测试者,因为开玩笑的目标更多是单元测试?