【问题标题】:How to force a test suite to run first and quit entire Jest execution if it fails?如何强制测试套件首先运行并在失败时退出整个 Jest 执行?
【发布时间】:2020-08-08 01:38:15
【问题描述】:

对于我的端到端测试,我将 Puppeteer 与 Jest 结合使用。我的代码库很大,目前我有很多测试。有一个“准备”测试套件,用于检查我们的页面上是否确实有足够的数据供其余测试继续进行。我想强制这个测试先运行,然后如果它失败了就终止 Jest 进程,因为之后不需要运行其他测试。

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

实现上述目标的最佳方法是什么?我可以得到一个解决方案的最小示例吗?谢谢!

【问题讨论】:

    标签: javascript testing jestjs puppeteer


    【解决方案1】:

    所有测试之前的位置之一是globalSetup。运行在父进程中,不获取Jest环境,所以需要手动设置测试:

    import expect from 'expect';
    
    export default async () => {
        // assertions go here   
    };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-04
      • 2019-05-15
      • 2012-06-06
      • 2018-07-01
      • 2019-10-09
      • 1970-01-01
      相关资源
      最近更新 更多