根据文档,各种异步实用程序的超时配置选项是
asyncUtilTimeout
:
asyncUtilTimeout
实用程序使用的全局超时值(以毫秒为单位)。 默认为 1000 毫秒。waitFor
您可以使用
configure
功能进行配置,例如在 setupTests.js
文件中:
import { configure } from "@testing-library/react";
configure({ asyncUtilTimeout: 5000 });
您可以创建一个辅助函数,不是吗?
export function wrappedWaitFor(cb, opts = {}) {
waitFor(cb, { ...opts, timeout: 10000 });
}
添加@jonrsharpe 的答案 https://stackoverflow.com/a/68253478/5015848
您可以在 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的建议创建一个辅助函数 https://stackoverflow.com/a/68251268/5015848
@Baruch 给出的答案的 ts 版本:
export async function waitForLonger<T>(
callback: () => Promise<T> | T,
opts?: waitForOptions
): Promise<T> {
return waitFor<T>(callback, { ...opts, timeout: 10000 });
}