Ответы:
Можно запустить mstest.exe без Visual Studio.
Загрузите один из агентов ISO для Visual Studio ниже и установите агент тестирования на сервер:
Visual Studio 2017 (127 МБ дискового пространства, меньше, чем для загрузки)
Visual Studio 2015 (128 МБ для установки, 2 ГБ дискового пространства)
Visual Studio 2012 (224 МБ)
Visual Studio 2013 (287 МБ)
Visual Studio 2010 (515 МБ)
Это устанавливает все необходимое для запуска mstest.exe из командной строки и намного легче, чем Visual Studio. ~ 500 МБ загрузки и около ~ 300 МБ для установки только тестового агента, если я правильно помню.
ОБНОВИТЬ
Для версий старше VS 2017 смотрите здесь:
Этот ответ относится конкретно к Visual Studio 2017, и ответ - да . Однако имейте в виду, что Microsoft (по-прежнему) не предоставляет какого-либо официального API для поиска соответствующих исполняемых файлов ( MSBuild.exeи MSTest.exe), поэтому вы застряли при чтении ключей реестра и / или проверке различных каталогов, чтобы найти эти файлы . Вас предупредили.
MSTest.TestFrameworkв эти проекты и удалите Microsoft.VisualStudio.QualityTools.UnitTestFrameworkиз них ссылку на . Теперь все, что вам нужно, - это установить Visual Studio 2017 Build Tools и вызвать msbuild.exeдля выполнения сборки.MSTest.exeи vstest.console.exeвы можете затем позвонить. Обратите внимание, что на самом деле выяснить, где находятся эти исполняемые файлы, сложно, потому что они не будут существовать в той же структуре каталогов, что и MSBuild.exeв Build Tools.И, наконец, что очень важно: если вы используете MSTest.TestFrameworkи по-прежнему нуждаетесь в возможности обнаруживать и запускать тесты из среды разработки Visual Studio, вам также необходимо MSTest.TestAdapterустановить их в свои проекты модульного тестирования.
1. VS2017 поддерживает параллельную установку, но использует один раздел реестра, в котором записывается только самая последняя установка. Следовательно, если вы устанавливаете тестовый агент последним, ключ будет указывать на его установочный каталог ... но тестовый агент не включает MSBuild.exe, поэтому любой код, который полагается на этот раздел реестра для определения пути к этому исполняемому файлу, завершится ошибкой. Остается только догадываться, почему Microsoft не могла сделать Test Agent необязательной частью Build Tools (чтобы все EXE-файлы располагались в одной иерархии каталогов).
File extension specified '.webtest' is not a valid test extension..
vswhereлучше, чем ничего, но вам все равно нужно сделать предположение о том, где находится MSBuild относительно каталога установки VS ... если (когда?) Microsoft решит переместить любой из этих исполняемых файлов, это предположение больше не верно . Почему Microsoft не может или не хочет создать программный способ получения пути к MSBuild / MSTest / VSTest (в отличие от каталога установки VS, который никого не волнует) остается за мной.
No test is available in C:\Users\..\Desktop\MyExeName.exe... . Я открыл вопрос по ТАК . Если у вас есть какие-то подсказки, буду благодарен за вашу помощь.
Я думаю, что вы, вероятно, можете, но это определенно не поддерживается.
Я нашел эту статью в блоге, написанную кем-то, кто утверждает, что MSTest работает без установленной Visual Studio.
@crocpulsar, вам необходимо установить Visual Studio на свой сервер сборки, но вам НЕ нужно покупать дополнительную лицензию .
Существует слишком много зависимостей для того, чтобы сборка и MSTest работали без установленного VS, и, безусловно, он не поддерживается.
Если у человека, запускающего сборку, есть лицензия, она вам не понадобится для сервера сборки. Так было с мрачных дней 2005 года, и пока существует паритет изданий, все в порядке.
Если у всех в вашей команде есть Ultimate, вы можете установить его на сервере сборки; но если у одного из членов вашей команды есть Premium, то в идеале вам следует установить Premium на сервер сборки. Это также позволяет использовать множество других элементов, таких как покрытие кода, анализ воздействия тестирования и проверка архитектуры.
Я только что заставил это работать на моих серверах без установки IDE Visual Studio 2017. Мое требование было
Мне пришлось сделать комбинацию из нескольких вещей, изложенных в других ответах, а затем еще одну здесь .
VS2017:
Шаг 3 заключался в устранении следующей проблемы:
«Не удалось разрешить эту ссылку. Не удалось найти сборку« Microsoft.VisualStudio.QualityTools.UnitTestFramework »»
Что затем вызвало:
«ошибка CS0234: тип или имя пространства имен« VisualStudio »не существует в пространстве имен« Microsoft »(отсутствует ссылка на сборку?)»
Ссылки на проект мне добавлять не пришлось. Однако путь к vstest.console.exe содержится в папке TestAgent (для меня это был «C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ TestAgent \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TestWindow» )
Вот шаги, которые я предпринял, чтобы заставить мой сервер сборки запускать MsTest без установки VS 2012:
Зарегистрируйте 'msdia110.dll' с помощью c: /windows/syswow64/regsvr32.exe / i '../mstest/assemblies/msdia110.dll'( Это выдало ошибку, но по какой-то причине все еще работало. Я запускал его пару раз и пробовал разные версии regsvr32.exe, прежде чем проверять, но он есть в реестре)
Добавьте переменную среды «MSTEST_HOME» и установите для нее значение «c: \ dev \ mstest \» или свой путь. Я использовал переменную среды в моем сценарии сборки.
Отладка ошибки выполнения MsTest:
Добавить в MsTest.exe.config
<system.diagnostics>
<trace autoflush="true" indentsize="4">
<listeners>
<add name="EqtListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="C:\MsTest.log" />
</listeners>
</trace>
<switches>
<add name="EqtTraceLevel" value="Verbose" />
</switches>
</system.diagnostics>
Если вам нужно запустить инструмент веб-тестирования mstest.exe, вы можете установить пробную версию Visual Studio Enterprise и обязательно запустить ее хотя бы один раз (просто запустите ее) под учетной записью, под которой будет выполняться тест, без каких-либо дополнительных действий. Поэтому, если ваш тест выполняется под системной учетной записью, вам нужно использовать что-то вроде ниже
PS C:\agent> psexec -s cmd.exe
C:\Windows\system32>"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\mstest.exe"
Microsoft (R) Test Execution Command Line Tool Version 15.0.27520.0
Copyright (c) Microsoft Corporation. All rights reserved.
Please specify tests to run, or specify the /publish switch to publish results.
For switch syntax, type "MSTest /help"