Поделиться через


Параметры командной строки программы MSTest.exe

 

Опубликовано: Апрель 2016

MSTest.exe — это запускаемая из командной строки программа, которая служит для запуска тестов. У этой программы есть несколько параметров, с помощью которых можно настроить ее работу. Многие из этих параметров можно использовать вместе друг с другом; некоторые параметры необходимо использовать друг с другом, как описано ниже. Эти параметры можно указывать в командной строке MSTest.exe в произвольном порядке.

При получении параметров или значений в командной строке программы MSTest.exe регистр не учитывается.

В следующей таблице перечислены все параметры программы MSTest.exe и приведено их краткое описание. Аналогичные данные можно получить, введя MSTest /h в командной строке.

Общие параметры командной строки

/testcontainer:[ имя файла ]

Загрузить файл, содержащий тесты.

Пример: /testcontainer:tests.dll

Дополнительные сведения см. в разделе /testcontainer.

/testmetadata:[ имя файла ]

Загрузить файл, содержащий метаданные теста. Дополнительные сведения см. в разделе /testmetadata.

/testlist:[ путь к списку тестов ]

Указать список тестов для запуска согласно файлу метаданных. Дополнительные сведения см. в описании параметра /testlist.

/category:[ фильтр категорий тестов ]

Укажите и отфильтруйте категории тестов для выполнения. Дополнительные сведения см. в разделе /category.

/test:[ имя теста ]

Указать имя теста для запуска. Дополнительные сведения см. в разделе /test.

/noisolation

Запустить тесты внутри процесса MSTest.exe. При этом повышается скорость работы тестов, но процесс MSTest.exe подвергается риску.

/testsettings: [ имя файла ]

Используйте указанный файл параметров.

Пример: /testsettings:Local.Testsettings

Дополнительные сведения см. в разделе /testsettings.

/runconfig:[ имя файла ]

Указывает определенный файл параметров тестирования.

Пример: /runconfig:localtestrun.Testrunconfig

Дополнительные сведения см. в разделе /runconfig.

Примечание

Этот параметр командной строки поддерживается для обеспечения совместимости с более ранними версиями Visual Studio.Конфигурации тестового запуска были заменены параметрами тестирования в Visual Studio Enterprise.

/resultsfile:[ имя файла ]

Сохранить результаты запуска теста в указанном файле.

Пример: /resultsfile:testResults.trx

Дополнительные сведения см. в разделе /resultsfile.

/detail:[ идентификатор свойства ]

Указать имя свойство, для которого нужно показать значения в дополнение к результатам теста. Дополнительные сведения см. в разделе /detail.

/help

Отобразить справку об использовании программы MSTest.exe (краткая форма: /? или /h).

/nologo

Не отображать при запуске заголовок и сообщение об авторских правах.

/usestderr

Использовать стандартную ошибку для вывода сведений об ошибках.

Параметры командной строки для публикации результатов тестов

Дополнительные сведения об этих параметрах см. в разделе Параметры командной строки для публикации результатов тестов.

/publish:[ имя сервера ]

Публикация результатов тестов в базе данных коллекции командных проектов указанного сервера

/publishresultsfile:[ имя файла ]

Указать имя файла результатов для публикации. Если имя файла результатов не указано, будет использован файл текущего запуска.

/publishbuild:[ идентификатор сборки ]

Опубликовать результаты теста с данным идентификатором построения.

/teamproject:[ имя командного проекта ]

Укажите имя командного проекта, к которому относится данная сборка.

/platform:[ платформа ]

Указать платформу построения, для которого публикуются результаты теста.

/flavor:[ конфигурация ]

Указать версию построения, для которого публикуются результаты теста.

Использование параметров MSTest

В следующих разделах более подробно описаны параметры программы MSTest.exe. Параметры, использованные для публикации результатов тестов, в этом разделе отсутствуют. Дополнительные сведения об этих параметрах см. в разделе Параметры командной строки для публикации результатов тестов.

/testcontainer

/testcontainer:[ имя файла ]

Тестовый контейнер — это файл, содержащий тесты, которые нужно запустить. Например, для упорядоченных тестов тестовым контейнером является файл с расширением .orderedtest, определяющий упорядоченный тест. Для модульных тестов это сборка, построенная из тестового проекта и содержащая файлы исходного кода теста модуля.

Примечание

Для модульных тестов это сборка, содержащая тестовый код, а не сборка, содержащая код тестируемого приложения.Например, если решение содержит проект BankAccount и соответствующий ему тестовый проект BankAccountTest, нужно указать /testcontainer:BankAccountTest.dll.

Примечание

В тестовом файле метаданных также перечислены запускаемые тесты, поэтому нельзя указывать параметры /testcontainer и /testmetadata в одной командной строке.Если это сделать, то может возникнуть ошибка.

/testmetadata

/testmetadata:[ имя файла ]

Параметр /testmetadata служит для запуска тестов в нескольких тестовых контейнерах.

Файл метаданных теста создается для решения при создании списков тестов в окне редактора списков тестов. Этот файл содержит данные обо всех тестах, перечисленных в окне редактора список тестов. Это все тесты всех тестовых проектов вашего решения.

Файл метаданных теста — это XML-файл, создаваемый в папке решения. Этот файл отображается в обозревателе решений в узле Элементы решения. Файл метаданных теста имеет расширение VSMDI; он связан с окном редактора списка тестов. То есть, если дважды щелкнуть VSMDI-файл в проводнике Windows, файл откроется в Visual Studio. Все тесты во всех тестовых проектах решения отображаются в окне редактора списка тестов.

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

Примечание

В тестовом контейнере содержатся запускаемые тесты, поэтому нельзя указывать параметры /testcontainer и /testmetadata в одной командной строке.Если это сделать, то может возникнуть ошибка.

При использовании параметра /testmetadata рекомендуется указать определенные тесты, которые нужно запустить, с помощью параметра /test, /testlist или обоих этих параметров.

/testlist

/testlist:[ путь к списку тестов ]

Параметр /testlist — это список тестов, которые должны быть выполнены согласно файлу метаданных. Чтобы запустить тесты, содержащиеся в нескольких списках, используйте параметр /testlist несколько раз. Будут выполнены все упорядоченные тесты из списка тестов.

Примечание

Параметр /testlist можно использовать только при использовании параметра /testmetadata.

Можно использовать вместе параметры /testlist и /test. Это равносильно выбору списка тестов и еще одного или нескольких отдельных тестов в окне редактора списка тестов и нажатию кнопки Выполнить тесты.

/category

/category:[ фильтр категорий тестов ]

Используйте параметр /category, чтобы указать категорию тестов для выполнения.

Примечание

Для применения параметра /testcontainer необходимо использовать параметр /category.

В каждой командной строке параметр /category может использоваться только один раз, однако с помощью фильтра категорий тестов можно задать несколько категорий. Фильтры категорий тестов состоят из одного или нескольких логических операторов "&", "|", "!", "&!". Одновременное использования логических операторов "&" и "|" невозможно.

Пример.

  • /category:group1 выполняет тесты, принадлежащие категории "group1".

  • /category:"group1&group2" выполняет тесты, принадлежащие категориям "group1" и "group2". Тесты, принадлежащие только какой-то одной категории, не выполняются.

  • /category:"group1|group2" выполняет тесты, принадлежащие категории "group1" или "group2". Также выполняются тесты, принадлежащие обеим категориям.

  • /category:"group1&!group2" выполняет тесты, принадлежащие категории "group1", но не "group2". Тесты, принадлежащие одновременно категориям "group1" и "group2", не выполняются.

    Примечание

    Если фильтр включает лишь одну категорию, например, /category:group1, нет необходимости заключать ее в кавычки.Однако, если фильтр ссылается на несколько категорий, например, /category:"group1&group2", то фильтр следует заключить в кавычки.

/test

/test:[ имя теста ]

Используйте параметр /test, чтобы указать отдельные тесты, которые нужно выполнить. Чтобы выполнить несколько тестов, используйте параметр /test несколько раз.

Примечание

Параметр /test можно использовать вместе с параметром /testcontainer или вместе с параметром /testmetadata, но не вместе с обоими этими параметрами одновременно.

Можно использовать вместе параметры /testlist и /test. Это равносильно выбору списка тестов и еще одного или нескольких отдельных тестов в окне редактора списка тестов и нажатию кнопки Выполнить тесты.

Строка, которая указывается с параметром /test, используется для сравнения имен тестов в тестовом контейнере или файле метаданных. Это означает, что с помощью одного значения параметра /test можно указать несколько тестов. Например, если указать /test:ittest, то будут найдены совпадения для тестов DebitTest и CreditTest, поскольку имена обоих тестов содержат подстроку "ittest".

Примечание

Значение, указываемое с параметром /test, сравнивается не только с именем теста, но и с путем к тесту в том виде, как он отображается в обозревателе решений, или с полным именем теста (в случае с модульными тестами).

Ниже приведены два примера.

Пример теста модуля: файл UnitTest1.cs в проекте TestProject2 содержит тест TestMethod1. Если указать значение "ittest" с параметром /test, то этот тест будет найден, поскольку строка сравнивается с полным именем "TestProject2.UnitTest1.TestMethod1", а строка "ittest" содержится в "UnitTest1".

Пример универсального теста: следующая командная строка запускает указанный универсальный тест и отображает полный путь к тесту в его результатах.

mstest /testcontainer:"C:\Documents and Settings\<user name>\My Documents\Visual Studio\Projects\TestProject2\TestProject2\generictest1.generic" /test:testproject32\generic

/noisolation

/noisolation

Этот параметр служит для запуска тестов внутри процесса MSTest.exe. Этот параметр больше никак не влияет на конфигурацию запуска тестов. Цель этого параметра — повышение скорости выполнения тестов. Однако при этом повышается риск запуска тестов в целом, поскольку необрабатываемое исключение в тестируемом коде может привести к сбою процесса MSTest.exe.

/testsettings

/testsettings:[ имя файла ]

Используйте этот параметр для указания файла параметров тестирования. Пример: /testsettings:local.Testsettings

Файл параметров тестирования можно указать и другими способами, например с помощью параметра /testmetadata. Здесь описываются правила, управляющие указанием файлов параметров тестирования.

  • Если использован параметр /testsettings, то будет использован указанный файл вне зависимости от наличия параметра /testmetadata.

  • Если параметр /testmetadata использован для указания файла метаданных, в котором задан файл параметров тестирования, то этот файл будет использован, если отсутствует параметр /testsettings.

  • Если параметр /testsettings не используется и файл метаданных теста также не содержит указаний на файл параметров тестирования, то при запуске теста будет использован файл параметров по умолчанию.

    Примечание

    Дополнительные сведения о файлах параметров теста см. в разделе Создание параметров тестирования для автоматических системных тестов с помощью Microsoft Test Manager.

/runconfig

/runconfig:[ имя файла ]

Примечание. Этот параметр командной строки поддерживается для обеспечения совместимости с более ранними версиями Visual Studio. Конфигурации тестового запуска были заменены параметрами тестирования в Visual Studio Premium.

Используйте этот параметр для указания файла конфигурации запуска. Пример: /runconfig:localtestrun.Testrunconfig

Файл конфигурации запуска можно указать и другими способами, например с помощью параметра /testmetadata. Здесь описываются правила, управляющие указанием файлов конфигурации запуска.

  • Если использован параметр /runconfig, то будет использован указанный файл вне зависимости от наличия параметра /testmetadata.

  • Если параметр /testmetadata использован для указания файла метаданных, в котором задан файл конфигурации запуска, то этот файл будет использован, если отсутствует параметр /runconfig.

  • Если параметр /runconfig не используется и файл метаданных теста также не содержит указаний на файл конфигурации запуска, то при запуске теста будет использован файл конфигурации по умолчанию.

/resultsfile

/resultsfile:[ имя файла ]

Этот параметр служит для сохранения результатов запуска теста в указанный файл. Пример: /resultsfile:testResults.trx.

/usestderr

/usestderr

При использовании этого параметра в стандартную ошибку записываются приведенные ниже сведения.

  • Тесты с результатами "Не пройден", "Прервано", "Ошибка", "Время ожидания", "Не готов к запуску" или "Не выполнено".

  • Ошибки уровня выполнения.

  • Ошибки при анализе аргументов командной строки.

  • Сводка выполнения, если выполнение теста завершено со сбоем.

Без этого параметра в стандартный выходной поток направляются все выводимые данные.

/detail

/detail:[ идентификатор свойства ]

Этот параметр используется для отображения дополнительных свойств тестового случая, если они существуют. В одной командной строке можно указать несколько экземпляров параметра /detail, задав для каждого различный идентификатор свойства. Ниже перечислены допустимые идентификаторы свойств для параметра /detail:

adapter

идентификатор

projectrelativepath

computername

isautomated

readonly

debugtrace

связь

spoolmessage

описание

longtext

stderr

displaytext

имя

stdout

длительность

outcometext

storage

errormessage

владельца

testcategoryid

errorstacktrace

parentexecid

testname

executionid

priority

testtype

Имя_команды

projectname

traceinfo

Примечание

Фактический набор идентификаторов свойств, которые можно использовать с параметром /detail, зависит от типа теста.Поэтому данный список не является точным.В частности, при использовании пользовательских типов тестов выбор свойств будет другим.Чтобы определить, какие идентификаторы свойств можно использовать, просмотрите файл результатов теста.Дополнительные сведения о файлах результатов тестирования см. в разделе Практическое руководство. Сохранение и открытие результатов тестов веб-производительности и нагрузочных тестов в Visual Studio.

Если для определенного тестового случая существует то или иное свойство, данные этого свойства будут включены в сводку результатов.

Например, команда:

mstest /testcontainer:Errors.dll /detail:testtype

создает следующий результат, содержащий сведения о типе теста:

              ...
Results                    Top Level Tests
--------                   -----------------
Inconclusive               TestProject2.BankAccountTest.CreditTest
[testtype] = Unit Test
...

См. также

Reviewing Test Results in Microsoft Test Manager
Запуск автоматических тестов из командной строки