我正在编写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;
我想在测试中对其进行测试,以查看是否已正确连接到设备(如果已连接),如果请求失败,则使用字符串拒绝。为此,我需要在单元测试中模拟设备连接。
答案 0 :(得分:3)
这非常简单,只需像这样模拟<div id="top_bar">
<p class="mob_phone">
<i class="icon-envelope-alt"></i>
<a href="mailto:...">...</a>
<!-- weird code starts here -->
<meta charset="EUC-JP">
<title>404 File Not Found</title>
<meta name="copyright" content="Copyright XSERVER Inc.">
<meta name="robots" content="INDEX,FOLLOW">
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0">
<style type="text/css">
* {
margin: 0;
padding: 0;
}
...
</style>
</p>
...
:
NetInfo