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


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

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

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

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

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

/testcontainer:[file name]

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

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

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

/testmetadata:[file name]

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

/testlist:[test list path]

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

/category:[test category filter]

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

/test:[test name]

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

/noisolation

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

/testsettings: [file name]

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

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

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

/runconfig:[file name]

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

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

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

Примечание

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

/resultsfile:[file name]

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

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

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

/detail:[property id]

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

/help

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

/nologo

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

/usestderr

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

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

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

/publish:[server name]

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

/publishresultsfile:[file name]

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

/publishbuild:[build id]

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

/teamproject:[team project name]

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

/platform:[platform]

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

/flavor:[flavor]

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

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

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

/testcontainer

/testcontainer:[file name]

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

Примечание

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

Примечание

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

/testmetadata

/testmetadata:[file name]

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

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

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

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

Примечание

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

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

/testlist

/testlist:[test list path]

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

Примечание

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

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

/category

/category:[test category filter]

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

Примечание

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

В каждой командной строке параметр /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 name]

Используйте параметр /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:[file name]

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

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

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

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

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

    Примечание

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

/runconfig

/runconfig:[file name]

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

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

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

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

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

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

/resultsfile

/resultsfile:[file name]

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

/usestderr

/usestderr

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

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

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

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

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

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

/detail

/detail:[property id]

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

adapter

id

projectrelativepath

computername

isautomated

readonly

debugtrace

link

spoolmessage

описание

longtext

stderr

displaytext

имя

stdout

duration

outcometext

storage

errormessage

owner

testcategoryid

errorstacktrace

parentexecid

testname

executionid

priority

testtype

groups

projectname

traceinfo

Примечание

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

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

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

mstest /testcontainer:Errors.dll /detail:testtype

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

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

См. также

Основные понятия

Запуск автоматических тестов из командной строки

Другие ресурсы

Просмотр результатов теста в Microsoft Test Manager