169 похожих чатов

Привет. Я длительное время сидел на enzyme, и все было прекрасно.

Но мне тут попались тесты с помощью @testing-library, и пришлось в них вкатываться.

Я с ужасом обнаружил, что в
@testing-library
нет методов, благодаря которым я бы смог найти как-либо селектор. Поиск идет через текст, data-testid атрибут и подобное.

У кого есть опыт и там, и там, скажите, какие плюшки есть у
@testing-library
перед
enzyme
?

4 ответов

10 просмотров

Можешь найти с помощью селектора.(setUp на скрине это render компонента с обертками) Насколько я понимаю у rtl подход больше как будто пользователь проверяет. Ты ищешь кнопку не по селектору, а по тексту. В итоге ты меняешь классы и тесты у тебя не падают.

ymdev- Автор вопроса

ага, вижу. Render возвращает container, а у него уже есть методы для поиска. Только спрятали куда-то, извиняюсь, в задницу этот момент в документации

У react testing library просто другой подход к тестированию. Она предполагает что ты получаешь элементы так как их видит пользователь. Поэтому там поиски по тексту, label, placeholder и тд. И в крайнем случае они предлагают юзать data-test-id

выше уже правильно все ответили, добавлю лишь, что подход rtl по моему мнению лучше именно этим. использование rtl помогает делать сайт более accessible и при рефакторинге приходится переписывать меньше тестов

Похожие вопросы

Обсуждают сегодня

Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
55
Привет, нужен совет старших товарищей. Есть глобальная переменная var DefaultDataFolder:string; инициализируем DefaultDataFolder:='a:\_OUT\'; есть примитивная процедур...
Max Otto
11
Вопрос. Теоретический. Есть список команд. Команды отправляю в обработку некой функции, по очереди. Разные команды могут давать разные результаты после обработки. В зависимос...
Serjone
7
Всем вечера. Подскажите как лучше сделать. делаю на Д10 Например будет база данных на SQLite. в ней будет много таблиц. более 50шт Типа справочник. Содержать ID Name Id p...
Андрей Т 🐎
10
Я короче решил скомпилировать Nim в js, я думал он сработает как обычный транслятор. По итогу он мне создал файл с расширением js, и туда поместил кучу кода Вопрос, что это з...
𝕾𝖍𝖆𝖉𝖊 <suspense>
9
это группа токсиков или тех кто помогает?
Ибрагим
9
мы пытаемся подменить функцию, которая имеет меньше инструкций относительно функции, которой подменяем. https://www.reddit.com/r/jailbreakdevelopers/comments/w06ujy/mshookfun...
Óðinn
6
У кого-нибудь есть под рукой функция кодирования юникода, которая из фразы На русском сделает \u041d\u0430\u0020\u0440\u0443\u0441\u0441\u043a\u043e\u043c ?
Daniil Smolyakov
7
подскажите пожалуйста, как мне освободить результат записанный в переменную result? в чем проблема подскажите если МОЖЕТЕ?
Михаил Helper
28
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Карта сайта