Запустите MSTEST.exe / publish на сервере TeamBuild, каковы предварительные требования? - PullRequest
4 голосов
/ 30 июня 2009

Аналогично Как использовать MsTest в непрерывной интеграции без VS? , я хочу запустить mstest.exe на сервере TeamBuild.

Мой контекст - Состояние ошибки перехвата в MSBuild - т.е. я только пытаюсь использовать mstest.exe / publish для загрузки результатов в репозиторий TFS. Таким образом, полный ригмарол в http://www.shunra.com/shunrablog/index.php/2009/04/23/running-mstest-without-visual-studio/, вероятно, будет излишним, особенно MSTEST.exe, как указано в http://social.msdn.microsoft.com/Forums/en-US/tfsgeneral/thread/e4575890-8f88-413c-a7f3-0d09d3b9cb01, и все, что мне нужно сделать, это установить Team Explorer.

Я установил VS2008 Team Explorer SP1 и mstest.exe /? до сих пор не говорит мне об опциях публикации.

Напомним, что в нем указано только Team Explorer требуется для mstest.exe /? для публикации:

Следующие опции также доступны, если установлен Team Explorer:

/ publish: [имя сервера] Публикация результатов в Team Foundation Сервер.

/ publishbuild: [имя сборки] Идентификатор сборки, который будет использоваться для публикации результаты теста.

/ publishresultsfile: [имя файла] Имя файла результатов теста для публиковать. Если ничего не указано, используйте файл, созданный текущим тестовым прогоном.

/ teamproject: [имя командного проекта] Имя командного проекта, к которому относится Строй принадлежит. Укажите это при публикации результаты теста.

/ platform: [платформа] Платформа сборки, против которой опубликовать результаты теста.

/ аромат: [аромат] Аромат строения, против которого опубликовать результаты теста.

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

Должен ли mstest.exe / publish требовать только Team Explorer, как указано, или он требует VSTT и Team Explorer?

Ответы [ 3 ]

6 голосов
/ 04 августа 2009

Параметр / publish в MSTest.exe выполняет проверку лицензии, чтобы убедиться, что версия Visual Studio «Team» установлена ​​(т. Е. Версия для разработчиков или тестовая версия) перед тем, как выполнить публикацию части кода.

Это ограничение, по-видимому, было введено для обеспечения базовых возможностей модульного тестирования в стандартных версиях Visual Studio, но требует наличия одной из более дорогих редакций Visual Studio для Team для включения функций, связанных с командой, в тестировании - например, как опубликовать результаты вашего теста в TFS.

Всего 3 отсутствующих функции, если у вас не установлена ​​редакция Team Visual Studio с установленным Team Epxlorer.

  • Публикация в TFS
  • Код покрытия
  • Подключение к удаленному агенту.

Если у вас установлена ​​редакция Development Edition, вы получаете публикацию и покрытие кода, но не возможности агента удаленного агента (т. Е. Для выполнения загрузки нагрузки).

В Test Edition и Visual Studio Team Suite есть все.

Если вы хотите увидеть пример пользовательской задачи MSBuild, которая использует MSTest.exe для публикации данных модульных тестов с сервера сборки (в данном примере данных тестов JUnit), то взгляните на Teamprise Build Расширения , которые я написал. Исходный код для них доступен под разрешающей MS-PL лицензией с открытым исходным кодом.

2 голосов
/ 12 октября 2015

Ну, сообщение, которое вы получаете при запуске mstest.exe /?, на самом деле очень вводит в заблуждение. Он сообщает, что Team Explorer требуется для публикации результатов вашего теста, но, к сожалению, установка Team Explorer ничего не меняет. Как заявил Мартин, MsTest проверяет лицензию, чтобы убедиться, что установлен соответствующий выпуск Visual Studio и, следовательно, отсутствуют параметры / publish и другие ключи.

И под «подходящим» изданием MsTest означает «Премиум» или «Максимальный», не уверенный в других выпусках.

Microsoft говорит, что вы должны установить Visual Studio на свой сервер, чтобы иметь полнофункциональный CI, и это единственное официальное и поддерживаемое решение, но если вам действительно не нравится эта концепция (а мне нет), вы можете сделать MsTest считает, что Visual Studio установлен на вашем сервере.

Достаточно экспортировать некоторые ключи реестра с компьютера разработчика на сервер CI и вуаля! - MsTest публикует результаты вашего теста в TFS. Ключи реестра находятся на HKLM\SOFTWARE\Microsoft\VisualStudio\12.0\Licenses или в HKLM\Software\Wow6432Node\Microsoft\VisualStudio\12.0\Licenses в зависимости от вашей системы.

Более подробную информацию об этом решении вы можете найти здесь: http://blog.foxxtrot.net/2010/02/hacking-mstest-out-of-visual-studio.html

2 голосов
/ 04 августа 2009

Я прочитал на форумах MSDN , что для /publish функциональности mstest требуется приобрести либо VS Team Developer, либо VS Team Test. Никакие меньшие издания, такие как стандартный / профессиональный или командный исследователь, не имеют его.

Хотелось бы увидеть еще какие-то доказательства, так как кажется довольно необоснованным, что со «стандартным» VS2008 вы можете писать и запускать модульные тесты, но вы произвольно не можете запускать их на своей сборочной машине: - (

Чтобы ответить на вопрос:

Должен ли mstest.exe / publish требовать только Team Explorer или VSTT и Team Explorer?

Похоже, что для этого требуется VSTT (что, как я полагаю, означает издание для команды студии Visual Visual Studio)

...