Re[2]: Рефакторинг - тактика
От: Son of Northern Darkness  
Дата: 02.04.12 10:03
Оценка:
Здравствуйте, Ryadovoy, Вы писали:

SON>>2) Все вызовы функций бизнес логики я завернул через интерфейс. Теперь функцию можно тестировать с помощью юнит тестов.

SON>>3) Начал писать юнит тесты, использую новый интерфейс и google mock.
R>...
SON>>2) Функция имеет большую степень вложенности и для того, чтобы проверить какое-то условие внутри, приходится мокать вызовы нескольких функций бизнес логики. Это сильно замедляет написание тестов и увеличивает объем их кода.

R>Может подумать над тем, чтобы создать класс-заглушку на основании интерфейса Вашей бизнес-логики с каким-то базовым поведением

R>вместо того, чтобы в каждом тесте настраивать поведение интерфейса заново при помощи gmock объекта?

R>Со своего опыта: у меня был класс, описывающий диск файловой системы.

R>По мере написания тестов я выделил базовый объект со стандартным поведением и дальше лишь подстраивал поведение по мере надобности.

Ну то есть, это по сути реализация mock object врукопашную? Хотелось бы этого избежать, написание тестов и так выходит очень затратным по времени. Внимательно почитал, что народ ответил. Видимо, я делаю примерно то же самое, руководствуюсь common sense... Серебряной пули нет Еще очень разочаровал Visual Assist X, даже method extraction не работает как надо. В Java и C#, с этим проще, конечно.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.