Симуляция 10 минут в тесте

1

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

Мой вопрос заключается в том, как смоделировать прошедшее время 10min в nunit-тесте?

[Test]
...
for (int i = 0; i < 10; i++)
{
    service.Login(user, "badpassword");
    // lockuser for 10 min (inside Login method)
}
// wait 10min and try to login
Теги:
moq
nunit

2 ответа

2
Лучший ответ

Вы действительно не хотите блокировать свои тесты в течение 10 минут. Цель состоит в том, чтобы тесты проходили как можно быстрее, и вы не хотите, чтобы один тест ожидал только 10 минут.

Идеальный способ заставить ваш код подумать, что прошло 10 минут, или заставить ваш код ждать короче во время выполнения тестов. Как вы это сделаете, это будет зависеть от вашей реализации.

0

Вы можете подделать результаты DateTime.Now с помощью рамки Moles. См. Пример использования Moles с DateTime.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню