Как следует из документов:
Если ваше решение для тестирования не зависит от внутренних компонентов React, тестирование
компоненты с крючками не должны отличаться от обычных
тестовые компоненты.
Цель вовсе не в том, чтобы проверить функцию onChange
, независимо от того, работают ли перехватчики или нет, уже протестирована командой React.
Ваше текущее изменение для рендеринга компонента вообще не меняет тест, рендеринг Foo
по-прежнему отображает button
и p
, как бы глубоко ни шла цепочка компонентов.
При использовании такой инфраструктуры, как Antd
или Material Design
, может быть сложно узнать полную структуру DOM. Но вместо этого, или лучше, вы можете запрашивать то, что пользователь видит на вашей странице.
Например, с использованием React библиотеки тестирования , рекомендованной в документации:
const button = getByText(container, /Click Me/i);
Это напрямую связано с тем, что пользователь видит на странице, и приводит к гораздо лучшим тестам.