Выбор ответа Junior Тестирование спрашивают часто обновлено
Как проверить, что элемента нет
Вопрос
Нужно проверить, что сообщения об ошибке нет на экране. Какой вариант правильный?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: expect(screen.queryByText('Ошибка')).not.toBeInTheDocument(). queryBy возвращает null, если элемента нет, и проверка проходит.
Варианты ответа
expect(screen.getByText('Ошибка')).not.toBeInTheDocument()expect(screen.queryByText('Ошибка')).not.toBeInTheDocument()правильный ответexpect(await screen.findByText('Ошибка')).toBeNull()expect(screen.getByText('Ошибка')).toBeNull()
Разбор
queryBy возвращает null, если элемента нет, и проверка проходит. Это его основное назначение.
getByбросит ошибку ещё доexpect, тест упадёт.findByпри отсутствии элемента отклонит промис по таймауту, тест упадёт.- Последний вариант упадёт по той же причине, что и первый.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.