Вопрос проверяет понимание целей и областей применения unit-тестирования для обеспечения качества кода.
Unit-тесты проверяют работу отдельных модулей программы в изоляции от внешних зависимостей. Их основная цель — гарантировать, что каждая функция или метод ведёт себя ожидаемо. Это особенно важно при рефакторинге, чтобы не сломать существующую логику.
// Функция расчёта скидки
function applyDiscount(price, discount) {
if (discount < 0 || discount > 100) throw new Error('Invalid discount');
return price - (price * discount) / 100;
}
// Unit-тест с использованием Jest
test('applyDiscount applies correct discount', () => {
expect(applyDiscount(100, 10)).toBe(90);
expect(applyDiscount(50, 0)).toBe(50);
expect(() => applyDiscount(100, -5)).toThrow('Invalid discount');
});В этом примере тест проверяет корректность расчёта, граничные значения и обработку ошибок.
Unit-тесты стоит писать для модулей с чёткой логикой, которые редко меняются и критичны для работы приложения. Они экономят время на отладку и повышают уверенность в коде.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию