Я пытаюсь написать модульные тесты для компонентов React, используя react-test-library
, а также планирую писать будущие интеграционные / сквозные тесты.
Предположим, у меня есть компоненты Foo
, Bar
и Baz
со следующей иерархией в приложении:
Foo
Bar
Baz
Baz
Bar
Baz
Я назначаю идентификатор теста компоненту Baz
: <div data-testid="baz">...</div>
Для модульных тестов для Bar
, я делаю утверждения о некоторых компонентах Baz
, которые он отображает, находя правильные элементы с помощью getByTestId("baz")
. (Получение по тексту / роли не всегда удобно / возможно)
Затем, для сквозного теста, предположим, я хотел бы найти определенный c Baz
компонент для всего приложения, но есть несколько Baz
компонентов с одним и тем же идентификатором теста, что делает его неоднозначным.
Как я могу определить идентификаторы тестов в компонентах и использовать их для тестов на нескольких уровнях в иерархии компонентов?