防止反应应用程序在测试时发出实际请求

Prevent react app from making actual request when testing

我使用 jest 和 react-testing-library 来测试 React 应用程序。当测试 React 应用程序时,有时我们可能会忘记模拟我们的 API 调用,您的应用程序将向服务器发出实际请求。

当我们忘记模拟 API 测试时如何抛出错误?我在 setupTest.js 中看到 Kent C.Dodds 写了一个代码,但我找不到它了

到了https://github.com/kentcdodds/bookshelf/blob/4057cf5d5d6c0c3d40868abb804ffe3acf850c97/src/setupTests.js#L3-L13

beforeEach(() => {
  jest.spyOn(window, 'fetch').mockImplementation((...args) => {
    console.warn('window.fetch is not mocked for this call', ...args)
    return Promise.reject(new Error('This must be mocked!'))
  })
})

afterEach(() => {
  window.fetch.mockRestore()
})