【问题标题】:Configure jest timeout once for all tests为所有测试配置一次笑话超时
【发布时间】:2020-01-22 08:10:53
【问题描述】:

根据文档,可以使用jest-object 将默认异步超时从 5000 毫秒增加到 5000 毫秒

更具体地说,通过使用jestsettimeouttimeout

我面临的问题是我正在针对一个非常慢的 API 运行一系列测试,响应时间为 5-15 秒,在每个测试的顶部配置这个玩笑对象非常烦人。

是否可以在运行所有测试文件之前声明一次这些设置?

【问题讨论】:

    标签: jestjs ts-jest


    【解决方案1】:

    好的,把位放在一起:

    当您搜索时,Jest 搜索框实际上不会返回任何内容:setupFilesAfterEnv

    还有文档讨论:setupTestFrameworkScriptFile(它也不会在搜索中返回任何内容:/)

    不管怎样,文档让你摸不着头脑,但这是可行的:

    jest.config.js:

    module.exports = {
      setupFilesAfterEnv: ['./setup.js'],
    

    setup.js:

    jest.setTimeout(10000); // in milliseconds
    

    开玩笑的人应该更容易找到这些信息。

    【讨论】:

    • 如果有人偶然发现这篇文章。开玩笑的人添加了一个名为testTimeout 的新配置选项,它会做同样的事情。 :)
    【解决方案2】:

    Jest 提供了一个testTimeout 配置选项,您可以将其添加到您的package.json

      "jest": {
        "testTimeout": 15000,
      }
    

    【讨论】:

      【解决方案3】:

      创建一个文件jest.config.js,然后添加以下内容:

      module.exports = {
      testTimeout: 60000 // one minute timeout for all tests
      }
      

      【讨论】:

        【解决方案4】:

        如果您正在使用react 并使用create-react-app 初始化您的应用程序,那么在您的src/ 目录下您应该有一个名为setupTests.js 的文件。在这里,您只需在 @testing-libary 的导入语句之后插入这一行,即可为所有测试设置全局超时

        jest.setTimeout(15000); // in milliseconds
        

        【讨论】:

          猜你喜欢
          • 2019-08-17
          • 1970-01-01
          • 2020-11-12
          • 1970-01-01
          • 2016-07-25
          • 2023-03-24
          • 2019-03-26
          • 1970-01-01
          • 2020-02-21
          相关资源
          最近更新 更多