Юнит тестирование это эффективный инструмент для нахождения ошибок в программном коде. Он позволяет выбрать один класс и подвергнуть
его всестороннему тестированию.
Но, к сожалению на практике юнит тестирование очень часто сводится к простому happy path тесту. Все говорят, что тесты нужны, что надо тестировать
свой код, но как писать эффективные и качественные тесты мало кто знает и еще меньше применяют это знание на практике.
Во первых юнит тесты это часть вашего проекта. Вы тратите на их создание время. Значит они должны быть полезны! Не имеет смысла добавлять в проект
бесполезные вещи.
Как сделать юнит тесты по настоящему полезными?
Юнит тест должен проверять выполнение требований предъявляемых к классу, а не его код. Хороший юнит тест проверяет выполнение одного требования. Набор юнит тестов проверяет выполнение всех требований предъявляемых к классу. Тогда юнит тесты образуют спасательную сеть. Если код в классе перестанет выполнять одно из требований юнит тесты это обнаружат.