При тестировании с помощью Visual Studio Team Test необработанные исключения в тестах попадают и сообщаются в результатах. Поэтому я был удивлен, увидев сбой процесса тестового хостинга (VSTestHost.exe) и показывая диалоговое окно сбоя системы.
После дальнейшего расследования этот сбой был необработанным исключением, поднятым в другом потоке (более прямо, это был обратный вызов асинхронного сокета). И действительно, что-то вроде этого нарушает процесс хостинга:
[TestMethod]
void Test()
{
new Thread(() => { throw new Exception(); }).Start();
}
Любые советы, что я должен там делать?
- Должен ли я просто жить с ним, говоря, что любой распространенный/зарегистрированный код должен быть протестирован хотя бы один раз, и поэтому такие вещи, скорее всего, поймаются?
- Должен ли я попытаться установить глобальный обработчик исключений и проверить его статус в каждом методе сбрасывания?
- Или, может быть, уже есть вещи, помогающие с этим?