что будет делать NUnit внутренне, если тайм-аут теста нарушен?

что делает NUnit, когда обнаруживает таймаут? Раньше я думал, что он прервет тест, выдав исключение TimeoutException, но этот тест доказывает обратное:

[Test, Timeout(100), ExpectedException(typeof(TimeoutException))]
public static void RaisingExpectedTimeoutException()
{
    Thread.Sleep(500);
}

к сожалению, консоль nunit сообщает только о нарушении тайм-аута, но не о том, как тест был прерван им. Есть ли кто-нибудь, кто знает больше о том, как это будет работать? и почему вышеупомянутый тест не поднял ожидаемое исключение TimeoutException? (хотя это тип исключений .NET, я решил, что NUnit использовал это исключение для нарушений тайм-аута).

PS: этот метод испытаний также не проходит:

[Test, Timeout(100), ExpectedException(typeof(ThreadAbortException))]
public static void RaisingExpectedThreadAbortException()
{
    Thread.Sleep(500);
}

и этот метод теста успешен («никто не ожидает испанской инквизиции!»):

[Test, ExpectedException(typeof(ThreadAbortException))]
public static void ThrowingExpectedThreadAbortException()
{
    Thread.CurrentThread.Abort();
}

Ответы на вопрос(2)

Ваш ответ на вопрос