Как я могу проверить значение опоры refreshControl in jest для моего приложения «рожденный-реагирующий»? - PullRequest
0 голосов
/ 16 ноября 2018

Я пытаюсь выполнить шутливый юнит-тест, который просто подтверждает, что в моем ScrollView активна поддержка refreshControl.

В настоящее время у меня есть компонент, который по существу отображает следующее

<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 голосов
/ 16 ноября 2018

Только что понял, что мне нужно проверить, что функция является той же самой, которую я передаю в компонент в тесте, так что, в основном, функция в компоненте, которая соответствует.

this._onRefresh
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...