При выполнении модульных тестов MSTEST в режиме отладки выполнение останавливается в каждом ожидаемом исключении, которое брошено. Мой тест похож на это
[TestMethod()]
[ExpectedException(typeof(ArgumentNullException))]
public void ShouldThrowExceptionWhenPassingNull()
{
object data = null;
target.CheckNull(data);
}
целевой метод похож на это:
public void CheckNull(object data)
{
if (ReferenceEquals(null, data))
{
throw new ArgumentNullException("data");
}
} // test run breaks here: ArgumentNullException was unhandled by user code
Вы пробовали запускать тесты с помощью ctrl-R? ctrl-T
вместо ctrl-R T
?
ИЗМЕНИТЬ Если это не проблема сочетания клавиш, просмотрите по этой ссылке. Вы можете попробовать следующее, как указано там:
- Отключить «прерывание для необработанных пользовательских исключений» для типов исключений. вы здесь встречаетесь (через Отладка -> Исключения)
- Отключить «прерывание необработанных исключений пользователя» для всех исключений (через Отладка -> Исключения)
- Отключить «Только мой код»
Предложение @dcp выглядит так, как будто оно сработает для MSTEST, но вы можете рассмотреть возможность получения TestDriven.Net . Я использую его почти исключительно в качестве средства выполнения тестов, и у меня нет этой проблемы, если щелкнуть правой кнопкой мыши режим «Выполнить тесты в отладке». Вдобавок я считаю, что он удобнее встроенного средства запуска тестов почти во всех обстоятельствах.