如何强制测试套件首先运行,并在测试失败时退出整个Jest执行?

时间:2020-08-07 16:06:58

标签: javascript testing jestjs puppeteer

对于端到端测试,我将Puppeteer与Jest一起使用。我的代码库很大,目前有很多测试。有一个“准备”测试套件可以检查我们页面上是否确实有足够的数据可以进行其余测试。我想强制此测试先运行,然后在失败的情况下终止Jest进程,因为此后无需再运行其他测试。

--runInBand标志不仅由于大量的tst而对性能造成严重影响,而且在第一次测试失败后需要手动终止Jest进程,而这是我无法做到的。

达到上述目标的最佳方法是什么?请问该解决方案的最小示例?谢谢!

1 个答案:

答案 0 :(得分:0)

在所有测试之前的位置之一是globalSetup。它在父进程中运行,并且没有获得Jest环境,因此需要手动设置测试:

import expect from 'expect';

export default async () => {
    // assertions go here   
};