【问题标题】:Prevent react app from making actual request when testing防止反应应用在测试时发出实际请求
【发布时间】:2019-12-20 17:26:26
【问题描述】:

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

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

【问题讨论】:

    标签: reactjs react-testing-library


    【解决方案1】:

    在这里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()
    })
    

    【讨论】:

    • 你是最棒的,我想大家会觉得这个脚本很有用
    猜你喜欢
    • 1970-01-01
    • 2020-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多