У меня есть компонент React, который генерирует кнопку, содержимое которой содержит <span>
элемент, подобный этому:
function Click(props) {
return (
<button disable={props.disable}>
<span>Click me</span>
</button>
);
}
Я хочу проверить логику этого компонента с использованием react-testing-library
иmocha
+ chai
.
Проблема, с которой я столкнулся на данный момент, заключается в том, что селектор getByText("Click me")
возвращает узел <span>
DOM, но для тестов мне нужно проверить атрибут disable
<button>
узел.Какова лучшая практика обработки таких тестов?Я вижу пару решений, но все они звучат немного не так:
- Использование
data-test-id
для <button>
элемента - Выберите одного из предков
<Click />
компонент и затем выберите кнопку within(...)
эту область действия - Нажмите на выбранный элемент с помощью
fireEvent
и убедитесь, что ничего не произошло
Можете ли вы предложить лучший подход?