Установка тайм -аута по умолчанию в тестах NUNITC#

Место общения программистов C#
Ответить
Anonymous
 Установка тайм -аута по умолчанию в тестах NUNIT

Сообщение Anonymous »

Иногда мой трубопровод терпеть неудачу на лазурных DevOps из -за тайм -аута. Он показывает сообщение, подобное: < /p>

превышает тестовый прогон для тестирования 2700000 миллисекунд < /p>
< /blockquote>
Некоторые тесты занимают больше, чем ожидалось, но я не знаю, какие тесты они. Итак, я знаю, что каждый тест не должен занять более 2 минут, и я хочу установить тайм -аут. Я не хочу добавлять атрибут тайм -аута для каждого теста и потребовать добавления атрибута тайм -аута в недавно созданные тесты. И после тайм -аута я хочу увидеть неудачный тест. После некоторых исследований я обнаружил, что это не поддерживается: https://github.com/nunit/nunit/issues/1040
Я нашел одно решение, но оно не выглядит хорошо:
Я начинаю время настройки и останавливаю его на Terndown:

Код: Выделить всё

System.Timers.Timer timer;
public System.Timers.Timer Timer
{
get
{
if (timer == null)
{
timer = new System.Timers.Timer();
timer.Interval = 120000;
timer.Elapsed += Timer_Elapsed;
}
return timer;
}
}

void Timer_Elapsed(object sender, ElapsedEventArgs e)
{
Timer.Stop();
Assert.Fail("Timeout");
}

[SetUp]
public void Setup()
{
Timer.Start();
}

[TearDown]
public void TernDown()
{
Timer.Stop();
}
он работает, но если тест занимает более 2 минут, он не сразу не удается.>

Подробнее здесь: https://stackoverflow.com/questions/733 ... unit-tests
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»