【发布时间】:2019-03-18 03:18:02
【问题描述】:
我开始学习有关使用 Jest/Enzyme 测试 React 的更多信息,并且我正在尝试学习如何测试使用 fetch 的 api 调用。
我在 componentDidMount() 方法中有一个 fetch 调用,我能够正确地测试它。在beforeEach() 方法中,我有一个window.fetch 方法来创建模拟提取。这是一个例子:
beforeEach(() => {
mockData = /* mock data */
// mock fetch call
window.fetch = jest.fn().mockImplementation(() => Promise.resolve({
json: () => Promise.resolve({
data: mockData,
})
}));
component = shallow(<Component />);
});
但是,我有另一个组件在 componentDidMount() 方法中有两个 fetch 调用,我想知道如何单独模拟每个 fetch 调用。是否有可能有两个window.fetch 调用或以某种方式传递一个 url 进行提取?
我还是新手,所以任何帮助将不胜感激!
谢谢!
【问题讨论】:
标签: reactjs testing fetch jestjs enzyme