В этом курсе мы будем учиться писать юнит-тесты используя фрейморк Junit5.
Что такое юнит-тест?
Юнит-тест это программа, которая проверяет работу небольшой части кода. Разработчики регулярно обновляют сайты и приложения, добавляют фичи, рефакторят код и вносят правки, а затем проверяют, как всё работает.
Тестировать систему целиком после каждого обновления — довольно муторно и неэффективно. Поэтому обновлённые или исправленные части кода прогоняют через юнит-тесты.
Юнит, или модульные тесты, проверяют отдельные блоки и функции написанного кода и нужны, чтобы быстро протестировать написанный фрагмент кода и сразу понять, где именно кроется ошибка.
Также основные преимущества юнит-тестов:
● Можно провести сразу после написания кода. Программист пишет конкретный модуль и тут же его тестирует — не нужно ждать готовности других модулей или интеграций.
● Быстрее, чем другие тесты, так как охватывают только небольшую функцию. Часто один такой юнит-тест занимает всего пару миллисекунд.
● Не требуют серьёзной инфраструктуры, так как их выполнение не требовательно к вычислительным ресурсам.
● За счёт лёгкости и скорости юнит-тесты самые дешёвые.
● Разные юниты можно тестировать одновременно.
● Легко автоматизировать, так как при таких тестах нет имитации сценария пользователя — только проверка реакции кода на те или иные действия и данные.
● Просто посчитать, какой процент кода покрыт тестами.
Недостатки:
Модульное тестирование не гарантирует, что будут найдены все ошибки. Причина в том, что даже в относительно простых программах невозможно предугадать все сценарии их выполнения.
Unit-тестирование применяется к изолированным фрагментам кода, поэтому может выявить только ошибки проверяемого модуля. Оно не способно показать баги, возникающие при интеграции модуля с другими компонентами приложения. Также unit-тестирование не способно выявить системные ошибки продукта в целом.