如何在 React 测试库中全局设置 waitFor 选项?
How to set waitFor options globally in React Testing Library?
我正在查看 waitFor documentation,我想知道是否有任何方法可以全局配置它,例如在 jest.config
或用于启动测试套件的命令中?
我需要在每次测试中增加超时,这有点烦人。
您可以创建一个辅助函数,不是吗?
export function wrappedWaitFor(cb, opts = {}) {
waitFor(cb, { ...opts, timeout: 10000 });
}
根据 the documentation,各种异步实用程序的超时配置选项是 asyncUtilTimeout
:
asyncUtilTimeout
The global timeout value in milliseconds used by waitFor
utilities.
Defaults to 1000ms.
您可以使用 configure
函数进行配置,例如在 setupTests.js
文件中:
import { configure } from "@testing-library/react";
configure({ asyncUtilTimeout: 5000 });
添加到@jonrsharpe 的回答
您可以在 setupTests.js / setupTests.ts 文件中为 @testing-library/react
& @testing-library/dom
配置异步方法的超时:
import { configure as configureReact } from "@testing-library/react";
import { configure as configureDom } from "@testing-library/dom";
configureReact({ asyncUtilTimeout: 5000 });
configureDom({ asyncUtilTimeout: 5000 });
但是如果您需要为任何其他 testing-library
包的异步方法配置它,那么需要为每个异步方法配置它,例如
waitFor(callback_func, { timeout: 5000 });
或按照@Baruch 的建议创建辅助函数
我正在查看 waitFor documentation,我想知道是否有任何方法可以全局配置它,例如在 jest.config
或用于启动测试套件的命令中?
我需要在每次测试中增加超时,这有点烦人。
您可以创建一个辅助函数,不是吗?
export function wrappedWaitFor(cb, opts = {}) {
waitFor(cb, { ...opts, timeout: 10000 });
}
根据 the documentation,各种异步实用程序的超时配置选项是 asyncUtilTimeout
:
asyncUtilTimeout
The global timeout value in milliseconds used by
waitFor
utilities. Defaults to 1000ms.
您可以使用 configure
函数进行配置,例如在 setupTests.js
文件中:
import { configure } from "@testing-library/react";
configure({ asyncUtilTimeout: 5000 });
添加到@jonrsharpe 的回答
您可以在 setupTests.js / setupTests.ts 文件中为 @testing-library/react
& @testing-library/dom
配置异步方法的超时:
import { configure as configureReact } from "@testing-library/react";
import { configure as configureDom } from "@testing-library/dom";
configureReact({ asyncUtilTimeout: 5000 });
configureDom({ asyncUtilTimeout: 5000 });
但是如果您需要为任何其他 testing-library
包的异步方法配置它,那么需要为每个异步方法配置它,例如
waitFor(callback_func, { timeout: 5000 });
或按照@Baruch 的建议创建辅助函数