MSTest приводит к успеху, когда тесты не найдены - PullRequest
3 голосов
/ 28 марта 2012

У меня два вопроса.

Я запускаю сборку TeamCity 6.5, и одним из шагов является тестирование MSTest. И в случае, когда MSTest не может найти тесты, описанные в файле vsmdi, я ожидаю, что тестовый запуск завершится неудачей.

[17:47:01]: [Шаг 2/2] Загрузка (путь) \ LocalTestRun.testrunconfig ...

[17:47:01]: [Шаг 2/2] Загрузка (путь) \ Tests.vsmdi ...

[17:47:01]: [Шаг 2/2] Начало выполнения ...

[17:47:01]: [Шаг 2/2] Тест BlaBla1 не найден.

[17:47:01]: [Шаг 2/2] Тест BlaBla2 не найден.

[17:47:01]: [Шаг 2/2] Тест BlaBla3 не найден.

[17:47:01]: [Шаг 2/2] Нет тестов для выполнения.

[17:47:07]: [Шаг 2/2] Процесс завершен с кодом 0

Я запустил MSTest из командной строки, и он действительно возвращает ноль в качестве кода выхода, когда не находит никаких тестов. Кто-нибудь знает, как заставить его выйти из строя, если не найдено ни одного теста?

Вторая проблема, я думаю, больше связана с TeamCity. Если MSTest не может найти файл vsmdi, он печатает в журнал

[17:59:16]: [Шаг 2/2] Файл "(путь) \ Tests.vsmdi" не найден.

[17:59:16]: [Шаг 2/2] Для синтаксиса переключателя введите «MSTest / help»

[17:59:16]: [Шаг 2/2] Процесс завершен с кодом 1

Эта конфигурация сборки имеет условие Fail "код завершения процесса сборки не равен нулю", тем не менее, шаг не завершается неудачей. Кто-нибудь знает, как с этим бороться?

Ответы [ 2 ]

1 голос
/ 12 февраля 2013

В TeamCity 7.0 + есть Сбой сборки при изменении метрики Таким образом, вы можете потерпеть неудачу при использовании настроек пользовательского интерфейса, если в сборке нет зарегистрированных тестов.

0 голосов
/ 12 февраля 2013

Единственный способ, которым я могу придумать, - это найти несколько сложное решение. Решение состоит в том, чтобы указать Result File name. Затем следующим шагом после запуска тестов должен быть запуск утилиты командной строки, которую вы напишите, которая проверит файл на предмет отсутствия тестов запуска.

...