«Инвертированный» функционал тайм-аута в тестах NUnit - PullRequest
3 голосов
/ 24 августа 2011

Я ищу способ написания модульного теста с использованием NUnit, чтобы, если текущий тест занимает более X миллисекунд, он завершился и сообщил о пропущенном / успешном, но не неудачном.По сути, это будет противоположностью атрибута NUnit Timeout .

Немного контекста проблемы: у меня есть несколько модульных тестов, которые вызывают удаленные серверы и проверяют их ответы.Если есть проблема с сетью, я не хочу, чтобы тест не удался, я бы хотел, чтобы этот тест не удался, если он смог получить ответ, и этот ответ был неверным.В то же время, если ответ не приходит, я хотел бы перейти и пропустить тест.

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

1 Ответ

4 голосов
/ 26 августа 2011

Не лучше ли было бы высмеивать вызов удаленных серверов?

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

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

Посмотрите на Moq .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...