我正在编写一个React Native应用程序,并使用Jest对我的代码进行单元测试。
我编写了一个函数来检查是否有网络连接。现在,我想编写它的单元测试,但遇到了困难,因为我不知道如何在单元测试中模拟设备的连接状态。
你可以如何在单元测试中模拟设备离线或在线? 编辑: 这是该函数:
我编写了一个函数来检查是否有网络连接。现在,我想编写它的单元测试,但遇到了困难,因为我不知道如何在单元测试中模拟设备的连接状态。
你可以如何在单元测试中模拟设备离线或在线? 编辑: 这是该函数:
import { NetInfo } from "react-native";
import { NO_NETWORK_CONNECTION } from "../../../../config/constants/errors";
const checkNetwork = (): Promise<boolean | string> =>
new Promise((resolve, reject) => {
NetInfo.isConnected
.fetch()
.then(isConnected => (isConnected ? resolve(true) : reject(NO_NETWORK_CONNECTION)))
.catch(() => reject(NO_NETWORK_CONNECTION));
});
export default checkNetwork;
我希望在我的测试中对其进行测试,以查看如果设备已连接,则它是否正确解析为true,并拒绝字符串,如果请求失败。为此,我需要在单元测试中模拟设备的连接。
[ts] Property 'mockResolvedValueOnce' does not exist on type '() => Promise<boolean>'。
你有任何想法如何解决这个问题吗? - J. HesterscheckNetwork
的其他测试正常工作。我很想让__mocks__
起作用。 - J. Hesters