Тайм-аут xunit для интеграционных тестов - PullRequest
0 голосов
/ 31 января 2020

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

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

Я думал о создании CancellationTokenSource в конструкторе класса теста и вызове CancelAfter(_timeoutTimespan), а затем о передаче этого в асинхронные c тестируемые методы.

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

...