0

我有一个包含多个组件的 reat 应用程序,需要 fetch 调用。我正在尝试使用jest. 为了模拟我想使用的 fetch 调用jest-fetch-mock。我想根据使用此 fetch 调用的 url 为每个 fetch 调用返回不同的 json。

在文档中,我找到doMockIfjets-fetch-mock. 使用此函数,我想指定对特定 fetch 调用的响应。目前我正在尝试对两个不同的网址给出不同的响应。运行测试时我没有收到错误(我在不模拟 fetch 时收到了错误),但只有第二个 fetch 调用得到响应。

我正在使用以下代码进行测试和模拟:

it("renders without crashing", () => {
    fetch
        .doMockIf("http://localhost/api/users", JSON.stringify({"name":"test"}))
        .doMockIf("http://localhost/api/status", JSON.stringify({"database":1}));
    const div = document.createElement("div");
    ReactDOM.render(<App></App>, div);
});

是否可以在一个测试用例中为每个获取请求创建一个模拟?

4

0 回答 0