我有一个包含多个组件的 reat 应用程序,需要 fetch 调用。我正在尝试使用jest
. 为了模拟我想使用的 fetch 调用jest-fetch-mock
。我想根据使用此 fetch 调用的 url 为每个 fetch 调用返回不同的 json。
在文档中,我找到doMockIf
了jets-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);
});
是否可以在一个测试用例中为每个获取请求创建一个模拟?