如何重试使用Jest和Typescript的失败测试

hec6srdp  于 2023-01-06  发布在  TypeScript
关注(0)|答案(2)|浏览(156)

我正在编写使用Jest和Typescript的自动化测试。我按照此文档重试失败的测试,但它没有工作。我猜是因为它只适用于Javascript,但如果我使用Typescript,有什么我可以使它工作吗?
https://github.com/bluzi/jest-retries

okxuctiv

okxuctiv1#

使用Jest.retryTimes API,该API自Jest v25(2019)起可用:

jest.retryTimes(1);
let j = 0;
describe("Flaky", () => {
  it("should pass only on second run", async () => {
    expect(j++).toEqual(1);
  });
});

注意,这个选项不能全局使用,你需要按文件/规范插入它。

mepcadol

mepcadol2#

要扩展dhilt的答案,可以通过一个设置文件全局设置它。
我不确定这是不是最近的变化。

// jest.config.json
{
  setupFilesAfterEnv: ["<rootDir>/jest.setup.tsx"],
  
  ...

}
// jest.setup.tsx

... 

jest.retryTimes(5, { logErrorsBeforeRetry: true });

... // any other pre/post test logic

https://jestjs.io/docs/jest-object#jestretrytimesnumretries-options

相关问题