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