Pruebas Unitarias
Ignat Zakrevsky
21

Отлично написано, спасибо Игнат.

“Есть 2 лагеря людей” — тут я думаю, что лагерей намного больше, чем 2. Есть “лагерь” людей, которые используют гибридные подходы. Например, я стараюсь стабить очень мало, т. к. это часто приводит к тому, что мелкие рефакторы внутренностей тестируемого класса (без изменения поведения) приводят к необходимости менять тест. Это происходит из-за того, что стабы и дублеры часто отвечают только на ограниченный набор сообщений, по сравнению с реальными объектами.

С другой стороны, если в тесте застаблены все внешние объекты, то по тесту сразу видно, от чего зависит тестируемый объект — и нет “неявных” зависимостей.

Как и со всем — тут нужен баланс. Я бы хотел чтобы тесты работали быстро, но если из-за этого замедляется процесс разработки и рефакторинга значительно, то лучше пусть тесты будут медленными. Купить больше CI серверов дешевле все еще, чем нанять больше программистов.