Відповіді:
Можна запустити mstest.exe без візуальної студії.
Завантажте один з агентів для Visual Studio ISO нижче та встановіть Test Agent на сервер:
Visual Studio 2017 (127MB дискового простору, менше , ніж для завантаження)
Visual Studio 2015 (установка 128 МБ, потрібно 2 Гб дискового простору)
Visual Studio 2012 (224MB)
Visual Studio 2013 (287MB)
Visual Studio 2010 (515MB)
Тут встановлено все необхідне для запуску mstest.exe з командного рядка і набагато легший за вагу, ніж візуальна студія. ~ 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
в Інструментах побудови.Нарешті, і що дуже важливо: якщо ви MSTest.TestFramework
все-таки користуєтесь і все ще потребуєте вміння виявляти та запускати тести з IDE Visual Studio ID, вам також знадобиться MSTest.TestAdapter
встановити ваші тестові проекти (модулі).
1: Хоча VS2017 підтримує паралельні встановлення, він використовує єдиний ключ реєстру, який записує лише останню установку. Отже, якщо ви встановите тест-агент останнього, ключ вказуватиме на його каталог встановлення ... але тест-агент не включає MSBuild.exe
, тому будь-який код, який спирається на цей ключ реєстру, щоб визначити шлях цього виконуваного файлу, не вийде. Чому Microsoft не міг зробити тест-агент необов'язковою частиною Інструментів збирання (так що всі 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"