Я бы хотел установить таймаут в моих интеграционных тестах. Это не обязательно восстанавливать после взаимоблокировки, а скорее такие вещи, как пропущенные события или ошибки с бесконечными повторными попытками, которые могут помешать выполнению теста.
Параметр Timeout
атрибута Fact
содержит комментарий что он должен использоваться только в тестах с параллельным отключением, тогда как я хотел бы сохранить параллелизм, если это возможно.
Я думал о создании CancellationTokenSource
в конструкторе класса теста и вызове CancelAfter(_timeoutTimespan)
, а затем о передаче этого в асинхронные c тестируемые методы.
Есть ли недостатки этот подход? В частности, вызывается ли тестовый метод сразу после инициализации класса, или я рискую, что токен истечет до того, как тест будет запущен?