Как препятствовать тому, чтобы ожидаемые исключения повредили тестовый прогон отладки?

При выполнении модульных тестов 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
11
задан Jader Dias 29 July 2010 в 12:13
поделиться

2 ответа

Вы пробовали запускать тесты с помощью ctrl-R? ctrl-T вместо ctrl-R T ?

ИЗМЕНИТЬ Если это не проблема сочетания клавиш, просмотрите по этой ссылке. Вы можете попробовать следующее, как указано там:

  1. Отключить «прерывание для необработанных пользовательских исключений» для типов исключений. вы здесь встречаетесь (через Отладка -> Исключения)
  2. Отключить «прерывание необработанных исключений пользователя» для всех исключений (через Отладка -> Исключения)
  3. Отключить «Только мой код»
8
ответ дан 3 December 2019 в 08:28
поделиться

Предложение @dcp выглядит так, как будто оно сработает для MSTEST, но вы можете рассмотреть возможность получения TestDriven.Net . Я использую его почти исключительно в качестве средства выполнения тестов, и у меня нет этой проблемы, если щелкнуть правой кнопкой мыши режим «Выполнить тесты в отладке». Вдобавок я считаю, что он удобнее встроенного средства запуска тестов почти во всех обстоятельствах.

2
ответ дан 3 December 2019 в 08:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: