Модульное тестирование в C # - Thread.Sleep (x) - Как смоделировать системные часы

Я должен проверить метод, который выполняет определенное количество работы после интервала.

while (running)
{
    ...
    // Work
    ...
    Thread.Sleep(Interval);
}

Интервал передается в качестве параметра классу, так что я могу просто передать 0 или 1, но меня интересовало, как смоделировать системные часы, если это не так.

В моем тесте я хотел бы иметь возможность просто установить время вперед с помощью TimeSpanинтервал и просыпаться нить.

Я никогда раньше не писал тестов для кода, который воздействует на исполняющий поток, и я уверен, что есть некоторые подводные камни, которых следует избегать - пожалуйста, не стесняйтесь уточнять, какой подход вы используете.

Спасибо!

Ответы на вопрос(2)

Ваш ответ на вопрос