Почему бы не использовать подделки? С Visual Studio это максимально просто. Просто добавьте поддельную сборку в System, добавьте ShimsContext в ваш тест,
using (ShimsContext.Create())
{
И установите DateTime.Now, чтобы возвратить определенное значение:
System.Fakes.ShimDateTime.NowGet = () => new DateTime(2000, 1, 1);
Этот подход гарантирует, что каждый вызов DateTime.Now перенаправляется в ваш код, поэтому вам не нужно ничего вставлять, чтобы получить текущее время (которое должно быть действительно простым), а также вам не нужна глобальная переменная с возможностью записи.