Мне нравится идея модульного тестирования уровня в моем приложении с использованием шаблона Mock Object . Проблема, с которой я сталкиваюсь, заключается в том, как переключаться с моих фиктивных объектов на реальные, когда не выполняется модульное тестирование.
Моей первоначальной реакцией было обращение к двум библиотекам (одна с реальными объектами, а другая с макетами) и использование символов условной компиляции для переключения между двумя пространствами имен. Это, однако, однозначно требует, чтобы проект был перестроен без символа UNITTEST
(после прохождения модульного тестирования), чтобы на реальные объекты можно было ссылаться.
Существуют ли модели, которые достигают этой цели?
К вашему сведению, моя среда c # 2, если это дает какую-либо выгоду.