我读到--runInBand标志在CI服务器上将 Jest测试持续时间加快了50%.我无法在网上找到关于该标志做什么的解释,只是它允许测试在同一个线程中顺序运行.
为什么在同一个线程中运行测试并按顺序使其更快?直觉上,不应该让它变慢吗?
什么时候适合使用每个--runInBand或--maxWorkers 1选项?
如果我的意图是按顺序运行所有测试(一次一个,按顺序),哪一个是正确的选择?
额外细节:
我正在使用Jest来测试NodeJs express应用程序,通过集成测试来访问HTTP端点supertest.这可能对答案没有任何影响,只要提及它是否相关.
这是Jest CLI参考:
https://facebook.github.io/jest/docs/cli.html
相关部分:
--maxWorkers=<num>
别名:-w.指定工作池将为运行测试生成的最大工作器数.默认为计算机上可用的核心数.在资源有限的环境(如CI)中进行调整可能很有用,但默认情况应该适用于大多数用例.
--runInBand
别名:-i.在当前进程中以串行方式运行所有测试,而不是创建运行测试的子进程的工作池.这对调试很有用.