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

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

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

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

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

4 ответов

26 просмотров

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

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

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

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

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта