Как получить экземпляр React Test Renderer в React Native Testing Library

У меня есть компонент с методом жизненного цикла, добавленным библиотекой навигации - React Native Navigation (https://wix.github.io/react-native-navigation/).

Я должен вызвать этот метод жизненного цикла (componentDidAppear) в тестах, чтобы мой компонент отображался правильно.

Мне удалось вызвать этот метод в экземпляре компонента, когда я использовал React Test Renderer. Как мне это вызвать с помощью библиотеки тестирования React Native? Как получить экземпляр тестового рендерера в RN Testing-Library?

1 ответ

Вы можете добраться до него через getByType функция:

const subject = render(<SomeComponent />);
subject.getByType(SomeComponent).instance.componentDidAppear()

Обратите внимание, как instance является свойством интерфейса, а не функцией (как в случае с некоторыми другими библиотеками).