Рассматривали ли вы использование условной компиляции для управления тем, что происходит во время отладки / развертывания?
, например
DateTime date;
#if DEBUG
date = new DateTime(2008, 09, 04);
#else
date = DateTime.Now;
#endif
Если это не так, вы хотите раскрыть свойство, чтобы вы могли им манипулировать, это все часть задачи написания тестируемого кода, который я сейчас пытаюсь решить сам: D
Редактировать
Большая часть меня предпочла бы подход Блэр . Это позволяет вам «горячо подключать» части кода для помощи в тестировании. Все это соответствует принципу разработки инкапсулирует то, что меняется тестовый код ничем не отличается от производственного кода, его просто никто не видит снаружи.
Создание и интерфейс могут показаться довольно трудоемкими для этого примера (вот почему я выбрал условную компиляцию).