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


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

Обновлен: Ноябрь 2007

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/noisolation

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

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

Указывает определенный файл конфигурации запуска.

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

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

ms182489.alert_note(ru-ru,VS.90).gifПримечание.
Параметр /runconfig является обязательным при запуске модульных тестов для смарт-устройств.

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

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

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

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

/unique

Запустить тест только при наличии уникального совпадения для любого указанного параметра /test. Дополнительные сведения см. в разделе /unique.

/detail:[ИД свойства]

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

/help

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

/nologo

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

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

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

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

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

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

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

/publishbuild:[ИД построения]

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

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

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

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

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

/flavor:[версия]

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

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

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

/testcontainer

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

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

ms182489.alert_note(ru-ru,VS.90).gifПримечание.

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

Тестовая сборка содержит все тесты для одного тестового проекта, поэтому число тестовых контейнеров в решении совпадает с числом тестовых проектов в этом решении.

ms182489.alert_note(ru-ru,VS.90).gifПримечание.

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

/testmetadata

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

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

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

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

ms182489.alert_note(ru-ru,VS.90).gifПримечание.

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

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

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

/testlist

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

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

ms182489.alert_note(ru-ru,VS.90).gifПримечание.

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

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

/test

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

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

ms182489.alert_note(ru-ru,VS.90).gifПримечание.

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

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

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

ms182489.alert_note(ru-ru,VS.90).gifПримечание.

Значение, указываемое с параметром /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.

/runconfig

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

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

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

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

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

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

ms182489.alert_note(ru-ru,VS.90).gifПримечание.

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

/resultsfile

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

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

/unique

/unique

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

Например, предположим, что тестовый контейнер MyTestProject содержит тесты MethodTest1 и MethodTest10.

Командная строка:

mstest /testcontainer:testproject2.dll /test:MethodTest1

запустит оба теста (и MethodTest1, и MethodTest10), поскольку "MethodTest1" — подстрока "MethodTest10".

Однако командная строка:

mstest /testcontainer:testproject2.dll /test:MethodTest1 /unique

запустит только тест MethodTest1.

/detail

/detail:[ИД свойства]

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

adapter

id

projectrelativepath

computername

isautomated

readonly

debugtrace

link

spoolmessage

description

longtext

stderr

displaytext

name

stdout

duration

outcometext

storage

errormessage

owner

testcategoryid

errorstacktrace

parentexecid

testname

executionid

priority

testtype

groups

projectname

traceinfo

ms182489.alert_note(ru-ru,VS.90).gifПримечание.

Фактический набор идентификаторов свойств, которые можно использовать с параметром /detail, зависит от типа теста. Поэтому данный список не является точным. В частности, при использовании тестов типов, отличных от содержащихся в Team System (средства тестирования) выбор параметров будет другим. Чтобы определить, какие идентификаторы свойств можно использовать, просмотрите файл результатов теста. Дополнительные сведения о файлах результатов тестов см. в разделе Практическое руководство. Экспорт результатов теста.

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

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

mstest /testcontainer:Errors.dll /detail:testtype

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

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

См. также

Задачи

Практическое руководство. Публикация результатов тестов