Параметры командной строки программы 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
...
См. также
Основные понятия
Запуск автоматических тестов из командной строки