2017-01-19 6 views
0

У нас есть система CI, использующая TFS 2015, и все работает хорошо.
Однако мы добавили новые тесты, и этап «Сбор артефактов» прекратил работу.
Я отслеживал это сводится к тому, что MSTest командной строки будет построена таким образом:TFS 2015 MsTest слишком длинная

MsTest.exe /testcontainer:blah /test:test1 /test:test2 [...] /resultsfile:"c:\blah.trx"

Так что, когда мы идем выше определенного количества тестов, командная строка заканчивается слишком долго и становится усеченным , теряя ключ/resultsfile и, возможно, некоторые из переключателей/test:.

В этом случае TFS сообщает, что пакет прошел, несмотря на то, что все тесты не выполнялись.

В документации для MSTest.exe в файле документации содержится файл/testlist:, который позволяет указать, какие тесты выполняются, указывая на файл.

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

+0

Есть ли причина для использования MSTest? У нас была та же проблема и была заменена на VS Test, MS Test является «устаревшим» с 2010 года IIRC. Другая альтернатива - объединить тестовые проекты, чтобы уменьшить число, которое у вас есть, и использовать более короткие имена сборок. – DaveShaw

+0

К сожалению, я не знаю много об этой системе, поэтому не уверен, можем ли мы использовать VSTest.Попытка сократить имена сборки и т. Д. Не является решением в моей книге, так как вы всегда будете сталкиваться с этой проблемой, если у вас достаточно тестов. Является ли это принципиально неразрешимой проблемой при использовании MSTest? –

+0

Кроме того, VSTest не только для Visual Studio? У сборки vms нет Visual Studio на них ... –

ответ

1

Я нашел решение, он должен был перейти от использования «плана тестирования» на «Тест Assembly»

example

0

DaveShaw сказал в комментарии, что ограничение не относится к MSTest или TFS, оно связано с Windows Command Line AFAIK.

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

  • VSTest.Console.exe оптимизирован для производительности и используется вместо из MSTest.exe в Visual Studio.

После завершения проверки. Он не сохранит результаты и не будет .trx-файла, сгенерированного в целевом каталоге.

  • MSTest.exe Вы можете использовать программу MSTest.exe для запуска автоматических тестов в тестовой сборке из командной строки.

MSTest используется для испытаний на нагрузку и для совместимости с проектами тестирования Visual Studio 2010.

MSTest также может использоваться для просмотра результатов тестирования этих тестовых прогонов, сохранения результатов на диске и сохранения результатов в Team Foundation Server. Более подробную информацию подробно Вы можете обратиться по этой ссылке: How to choose between tcm.exe, mstest.exe and vstest.console.exe

Поскольку вы используете TFS2015, и если у вас нет каких-либо тестовых проектов VS2010, мы рекомендуем вам использовать VStest вместо MSTest.

+0

В TFS нет опции для VSTest Я не говорю о запуске тестов вручную из командной строки, я говорю о том, когда TFS запускает тесты с использованием CI. –