Скажем, у вас есть метод, который потенциально может застрять в бесконечном цикле вызовов метода и сбой с помощью StackOverflowException. Например, мой наивный метод RecursiveSelect
, упомянутый в этот вопрос.
Начиная с .NET Framework версии 2.0 объект StackOverflowException не может быть захвачен блоком try-catch, и соответствующий процесс по умолчанию завершается. Следовательно, пользователям рекомендуется написать свой код для обнаружения и предотвращения. Например, если ваше приложение зависит от рекурсии, используйте счетчик или условие состояния для завершения рекурсивного цикла.
Принимая эту информацию (от этот ответ), поскольку исключение нельзя поймать, можно ли даже написать тест на что-то вроде этого? Или будет тест на это, если это не удастся, на самом деле сломать весь тестовый пакет?
Примечание: Я знаю, что могу просто попробовать и посмотреть, что произойдет, но меня больше интересует общая информация об этом. Вроде бы, разные рамки тестирования и тестовые бегуны справятся с этим по-другому? Должен ли я избегать такого теста, даже если это возможно?