首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果Jest失败,多次运行Jest测试

如果Jest失败,多次运行Jest测试
EN

Stack Overflow用户
提问于 2022-04-26 10:24:17
回答 1查看 226关注 0票数 0

我正在使用Jest测试一些API端点,但这些端点有时可能会失败,原因是网络问题,而不是我的程序错误。因此,我想在延迟的情况下再次进行多次测试(例如5次),如果所有这些尝试都失败了,Jest应该报告失败。

实现这一目标的最佳途径是什么?Jest或其他库提供了解决方案吗?或者我应该用类似于setInterval的东西来编写我自己的程序

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-26 10:33:10

对于测试,您不应该在理想情况下进行网络调用,因为它们会减慢您的测试速度。此外,您可能正在与外部API通信,这在理想情况下不应该是测试代码的一部分。也可能导致虚假的消极,正如你已经观察到的。您可以这样做:

代码语言:javascript
复制
async function getFirstMovieTitle() {
  const response = await axios.get('https://dummyMovieApi/movies');
  return response.data[0].title;
}

为了测试上面的网络调用,您应该在测试中模拟您的above请求。要测试上面的代码,您应该

代码语言:javascript
复制
jest.mock('axios');

it('returns the title of the first movie', async () => {
  axios.get.mockResolvedValue({
    data: [
      {
        title: 'First Movie'
      },
      {
        title: 'Second Movie'
      }
    ]
  });

  const title = await getFirstMovieTitle();
  expect(title).toEqual('First Movie');
});

试着读更多关于笑话的笑话,以便更好地理解。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72012315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档