Я против юнитов. Нужны только модульные тесты.
Во-первых, юниты надо вечно переписывать, если приложение не мёртво, и уже тут они начинают вредить(и даже идеальный тест превратится в шлак за х переписок)... во-вторых рано или поздно превращаются в формальность ради покрытия.
Модульные, меняются сильно реже. Тестируют выделенную функциональность. Могут выступать как документация.
Юнит как документация, это сказка в крупных проектах. Написать юнит хорошо , это искусство на уровень выше чем писать код.
Если вспомните юниты: формируем какой-то внутренний класс , заполняем кидаем в метод в котором все замокано, и возвращено тоже любое значение.
Не тест , а иллюзия теста.
Юнитами только утилитные классы хорошо покрывать: свои коллекции, компораторы и т.д.