Выбор ответа Junior ИИ и тесты спрашивают часто обновлено
Тест-тавтология
Вопрос
Ассистент написал тест:
const expected = calcDiscount(order);
expect(calcDiscount(order)).toBe(expected);
В чём проблема?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Ожидание считает сам проверяемый код, тест не падает никогда. Ожидаемое значение вычислено той же функцией, что и проверяется.
Варианты ответа
- Нужно
toEqualвместоtoBe, иначе объекты не сравнятся - Функция вызывается дважды, тест будет работать медленно
- Ожидание считает сам проверяемый код, тест не падает никогдаправильный ответ
- Нет
await, поэтому тест завершится раньше вычисления
Разбор
Ожидаемое значение вычислено той же функцией, что и проверяется. Если в calcDiscount баг, он будет и в ожидании, и тест всё равно зелёный. Ожидание должно быть посчитано вручную или взято из требований. Скорость, toEqual и await тут ни при чём: функция синхронная и возвращает число.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Предыдущий вопрос
Покрыть легаси тестами с ИИ
Следующий вопрос
Зачем тесты до реализации при работе с ИИ