我如何才能为我的react-native应用开玩笑地检查refreshControl属性的值?

时间:2018-11-16 09:32:38

标签: react-native jestjs

我正在尝试进行一个开玩笑的单元测试,以简单地确认refreshControl属性在我的ScrollView中处于​​活动状态。

我目前拥有一个实质上呈现以下内容的组件

<ScrollView
  refreshControl={
    <RefreshControl
      refreshing={this.state.refreshing}
      onRefresh={this._onRefresh}
    />
  }
   {children}
/>

它在实践中运行良好,在我的测试中,我正在检查以确认道具是否符合预期。

import { RefreshControl } from 'react-native'
const layout = shallow(<Element />)    
const refreshControl = <RefreshControl
  onRefresh={jest.fn()}
  refreshing={false}
/>
expect(layout.prop('refreshControl')).toEqual(refreshControl)

然后在运行测试时出现此错误:

Expected value to equal:
  <RefreshControlMock onRefresh={[Function mockConstructor]} refreshing={false} />
Received:
  <RefreshControlMock onRefresh={[Function mockConstructor]} refreshing={false} />

我认为是因为onRefresh函数的实例不同,但是不确定如何控制它。有人知道吗?

1 个答案:

答案 0 :(得分:0)

仅意识到我需要在测试中检查该功能是否与我传入组件的功能相同,因此基本上是与组件中匹配的功能。

this._onRefresh