Я предполагаю, что это ответ на мой ответ на ваш предыдущий вопрос. В программировании магическое число представляет собой встроенную численную константу, которая появляется без объяснения причин. Если он отображается в двух разных местах, это может привести к обстоятельствам, когда один экземпляр изменен, а не другой. По этим причинам важно изолировать и определить числовые константы за пределами тех мест, где они используются.
Причина в том, что ваши исключения не обрабатываются. Фреймворк модульного тестирования скрытно обрабатывает исключения и преобразует их в отказы.
Вместо этого вам нужно прервать возникновение исключений. Если вы объедините это с включением «Только мой код» (по умолчанию), вы должны получить ожидаемое поведение. Visual Studio прекратит работу только при возникновении исключений, созданных вашим кодом.
Для меня я использую VS 2010 и 2015, перейдите по ссылке: Инструменты, Параметры, Отладка, Общие: необходимо убедиться, что «Включить только мой код» и «Включить помощника по исключениям» проверены.
По умолчанию, даже если вы выполняете отладочную сборку, MSTest не дает вам отладки (с точками останова и т. Д.), Если вы на самом деле не скажете ему явно «Отладочные юнит-тесты».
Он должен разбиваться на необработанные исключения в модульном тестировании, если вы находитесь в конфигурации отладки, и вы запускаете модульное тестирование, используя «Отладку», то есть: используя Ctrl+R, Ctrl+A
вместо Ctrl+R, A
для запустить все тесты. В окне тестирования есть меню «Выполнить» и «Отладка» с параметрами.
Установите Testdriven.NET и используйте «Test With -> Debugger».
Это вызвано тем, что тесты выполняются с использованием MSTest (Visual Studio используется просто как оболочка). MSTest будет маскировать эти возникающие исключения, и они никогда не всплывают в Visual Studio. Если вы запускаете тесты в режиме отладки, он должен работать.
Если вы щелкнете правой кнопкой мыши по тесту (ам) в Test View и выберете их для отладки, он должен выполнить код через IDE, а исключения должны прерваться соответствующим образом.
Среда модульного тестирования обрабатывает исключение, поэтому Visual Studio считает, что исключение обработано.