如何在React-native中以开玩笑的方式测试条件组件?

时间:2019-02-06 09:51:28

标签: javascript reactjs react-native jestjs

我在react-native中有一个Internet状态栏组件,其渲染方法如下所示:

render() {

if (this.state.isConnected) {
     return false
   }

   return(...)
 }
}

基本上,如果您的手机无法建立连接,它将在屏幕顶部显示一条消息,提示您连接到互联网。

但是,this.state.isConnected的默认值为true,因此,当您开玩笑地测试快照时,您只是在快照中得到了空输出,即。

exports[`ConnectionBar Component renders 1`] = `null`

我想不出一种在测试中将this.state.isConnected模拟为false的方法,因此在测试快照中什么也没有渲染。

PS:我不想将this.state.isConnected的默认值设置为false,因为我在状态更改之前强加了一些延迟以防止闪烁,这将导致“检查您的连接”栏显示为在每个屏幕上显示约一秒钟,然后消失。

如果有人有什么见识,请告诉我。

0 个答案:

没有答案