Assert.Fail не проходит проверку? - PullRequest
2 голосов
/ 23 августа 2010

Я использую VS 2008 для модульного тестирования.Даже если мой код вызывает

Assert.Fail("some message");

Пройденный тест ??

и даже

Assert.IsTrue(false); это также проходит тест.

Как это возможно.Я ожидаю, что тест не пройден.я хочу насильно провалить это.

Пожалуйста, помогите!

Ответы [ 4 ]

5 голосов
/ 23 августа 2010

Возможно, вы ловите исключения где-то в тестовом коде. Класс Assert использует исключения для провала теста, поэтому, если вы его перехватываете, тест проходит.

Пожалуйста, вставьте код для более точного ответа.

0 голосов
/ 07 сентября 2014

Я не могу быть уверен, не зная больше о том, что вы делаете, но похоже, что вы ожидаете, что классы .NET будут работать как классы NUnit - не могу быть уверен - но если вы , это никогда не сработает.

Классы .NET работают только в том случае, если определена трассировка (просмотрите свойства проекта, откройте вкладку «Сборка», затем нажмите «Определить константу TRACE»). - Но для модульных тестов это не полезно - эти классы не генерируют исключения или иначе не проходят модульные тесты ... они выскакивают сообщения для тех, кто подписывается на мантру «отладка позже».

Если вы хотите, чтобы Assert.Fail не прошел модульный тест , вам потребуется среда модульного тестирования, которая предоставляет класс, который делает это (опять же, как NUnit). Пожалуйста, дайте нам знать, какую платформу тестирования вы используете (или не используете?), И мы сможем помочь вам немного больше, если у вас все еще есть проблемы с этим.

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

Иногда, когда я нажимаю «запустить тесты», я вижу сборку тестового движка в конфигурации выпуска, но затем продолжаю запускать тесты со старой сборкой конфигурации отладки. Я бы назвал это ошибкой в ​​тестовом движке VS2008. В любом случае, попробуйте очистить папки Debug AND Release и запустить его снова.

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

Используете ли вы класс Assert, встроенный в .NET?Если это так, я подозреваю, что TRACE не был определен.

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