Теперь я выполняю модульное тестирование приложения, которое было написано в течение года, прежде чем я начал тщательно тестировать блок-тестирование. Я понял, что классы, которые я написал, трудно unit test по следующим причинам:
- Опирается на загрузку данных из базы данных. Это означает, что мне нужно настроить строку в таблице только для запуска unit test (и я не тестирую возможности базы данных).
- Требуется много других внешних классов, чтобы получить класс, который я тестирую, в исходное состояние.
В целом, нет ничего плохого в дизайне, кроме того, что он слишком тесно связан (что само по себе плохо). Я полагаю, что если бы я написал автоматические тестовые примеры с каждым классом, то, гарантируя, что я не буду набрасывать дополнительные зависимости или соединение для работы класса, класс может быть лучше разработан.
Есть ли эта причина для воды? Каковы ваши впечатления?