Как мне протестировать моментальный снимок компонента, который использует onLayout () в React Native? - PullRequest
0 голосов
/ 16 июня 2020

У меня есть компонент, который выполняет некоторые вычисления каждый раз, когда вызывается функция onLayout(). Он будет вызываться каждый раз, когда размер контейнера автоматически изменяется внутри гибкого родительского контейнера. Компонент выглядит примерно так:

class MyComponent extends React.Component {
  onLayout = (e) => {
    this.findAndUpdateTruncationIndex(e.nativeEvent.layout.width);
  };

  findAndUpdateTruncationIndex = async (containerWidth) => {
    const truncationIndex = await this.findTruncationIndex(containerWidth);
    this.setState({ truncationIndex });
  };

  render() {
    <Text onLayout={this.onLayout}>
      ...
    </Text>
  }
}

После генерации truncationIndex повторный рендеринг this.setState() применит к этому компоненту несколько разных стилей. На этом этапе мне нужно создать снимок и сравнивать его каждый раз, когда я снова запускаю тест.

Как мне go выполнять здесь тестирование снимков с помощью Jest? Я не могу найти какие-либо четкие ресурсы по этому поводу в отношении каких-либо библиотек для реагирования на нативное тестирование.

...