Какие аргументы командной строки использует Visual Studio для запуска MsTest? - PullRequest
7 голосов
/ 13 января 2011

Я пытаюсь выяснить, какие аргументы командной строки используются Visual Studio при запуске тестов MsTest, я думаю, это начинается с:

 MSTest.exe /testmetadata:%SolutionName%.vsmdi /testlist:

Но я не мог понять, какзаполнить параметр testlist, так как имя и идентификатор списка тестов получают следующую ошибку:

The test list path 8c43105b-9dc1-4917-a39f-aa66a61bf5b6 cannot be found.
An error occurred while executing the /testlist switch.

Ответы [ 2 ]

9 голосов
/ 25 мая 2012

Я пытаюсь выяснить, какие аргументы командной строки используются Visual Studio при запуске тестов MsTest

Это зависит от того, как вы запускаете свои тесты из Visual Studio,См. Следующие примеры:

  1. Вы выбираете некоторые тесты из окна Test View и запускаете их

    MSTest.exe /testcontainer:TestProject.dll /test:TestMethod1 /test:TestMethod2 ...
    
  2. Вы выполняете всетесты из окна Test View 1016 *

    MSTest.exe /testcontainer:TestProject.dll 
    
  3. Вы отфильтровали свои тесты по категории через окно Test View и запустили эту категорию

    MSTest.exe /testcontainer:TestProject.dll /category:CategoryName
    
  4. Вы открыли файл *.vsmdi и выбрали несколько TestLists для запуска

    MSTest.exe /testmetadata:*.vsmdi /testlist:TestList1 /testlist:TestList2 ...
    
  5. Вы выполняете тесты Load или Ordered

    MSTest.exe /testcontainer:LoadTest1.loadtest /testcontainer:OrderedTest1.orderedtest
    

Вы можете объединить приведенные выше примеры (аргументы), чтобы создать команду MSTest, подходящую для вашего случая.Единственное ограничение, которое у вас есть, это то, что вы не можете использовать аргументы /testmetada и /testcontainer вместе.

Что касается аргумента TestList, вам просто нужно дать в качестве параметра имя списка.Если он не найден, то ваш тестовый список не существует или он не относится к *.vsmdi, который вы определили в аргументе /testmetadata.

Я уверен, что вы уже сделали это, но выможете проверить следующую ссылку: Параметры командной строки MSTest.exe

0 голосов
/ 25 мая 2012

См. Следующую ссылку . Хотя этот пост о msbuild. Он использует задачу exec для вызова mstest. Если вы используете / testlist, вам нужно предоставить файл метаданных. Вы можете использовать / testcontainer и дать dll для вашего тестового проекта. Он запустит все ваши тесты.

/testcontainer:[file name]        Load a file that contains tests. You can
                               Specify this option more than once to
                               load multiple test files.
                               Examples:
                                 /testcontainer:mytestproject.dll
                                 /testcontainer:loadtest1.loadtest
...