在React Native中,我使用fetch
来执行网络请求,但是fetch
并不是一个明确需要的模块,所以似乎不可能Jest 地模仿.
即使try 调用在测试中使用fetch
的方法,也会导致:
ReferenceError:未定义提取
有没有办法在react native with Jest中测试这样的API请求?
在React Native中,我使用fetch
来执行网络请求,但是fetch
并不是一个明确需要的模块,所以似乎不可能Jest 地模仿.
即使try 调用在测试中使用fetch
的方法,也会导致:
ReferenceError:未定义提取
有没有办法在react native with Jest中测试这样的API请求?
在测试用例中,您可以使用Jest的mock来模拟任何想要的函数:
fetch = jest.fn(() => Promise.resolve());
这种方法只适用于基于promise 的测试用例(参见Jest文档中的pit
).
由于fetch
是一个异步函数,所以需要使用pit
运行所有测试(请阅读有关异步测试here的更多信息).