Параметры командной строки программы MSTest.exe
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 Premium.
|
/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, чтобы указать категорию тестов для выполнения.
Примечание |
---|
Для применения параметра /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, чтобы указать отдельные тесты, которые нужно выполнить.Чтобы выполнить несколько тестов, используйте параметр /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 |
id |
projectrelativepath |
computername |
isautomated |
readonly |
debugtrace |
link |
spoolmessage |
description |
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
...