Модульное тестирование с Vs2008, есть ли атрибут или что-то, где я могу игнорировать Assert - PullRequest
0 голосов
/ 10 августа 2010

Не игнорируйте это полностью, просто не останавливайте выполнение, если оно попадает в Assert, и оно терпит неудачу.Я хотел бы увидеть сводку всех ошибок в конце.

Ответы [ 3 ]

1 голос
/ 10 августа 2010

В модульном тесте должен быть только один оператор Assert (и он должен иметь оператор Assert). Юнит тест должен проверять только одну вещь.

Если вы проведете рефакторинг своего теста во множество тестов, каждое из которых будет содержать одно утверждение, вы получите желаемый результат.

1 голос
/ 10 августа 2010

Функции в классе Assert выдают AssertFailedException , когда операция Assert завершается неудачно.Следовательно, выполнение не будет продолжаться, пока не будет обработано это исключение, чего не следует делать в модульном тесте.

Хорошо, что вам показывается только одно неудачное утверждение за раз.Вы можете устранить проблему, а затем повторно запустить тест, исправить следующий сбой и т. Д., Пока тест не пройдет, а затем безопасно вернуться и выполнить рефакторинг кода.

0 голосов
/ 10 августа 2010

Похоже, вы запускаете тесты с подключенным отладчиком, и он приостанавливает выполнение тестового прогона из-за AssertFailedException.Если вы запускаете тесты без отладчика, он должен завершить выполнение и дать вам сводку.

Тем не менее, если вы говорите об одном тесте с несколькими утверждениями, то нет, вы не можете сделать это: ошибочное утверждение является исключением и прервет текущий тест.

...