What command line arguments does Visual Studio use for running MsTest?

痴心易碎 提交于 2020-01-12 07:35:28

问题


I'm trying to figure out which is the command line arguments used by Visual Studio when you run the MsTest tests, I guess it starts with:

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

But I couldn't figure out how to fill the testlist parameter, because both the test list name and id get the following error:

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

回答1:


I'm trying to figure out which is the command line arguments used by Visual Studio when you run the MsTest tests

It depends on how do you run your tests from Visual Studio. See the following examples:

  1. You are selecting some tests from the Test View window and run them

    MSTest.exe /testcontainer:TestProject.dll /test:TestMethod1 /test:TestMethod2 ...
    
  2. Your are running all the tests from the Test View window

    MSTest.exe /testcontainer:TestProject.dll 
    
  3. You have filtered your tests by a category through Test View window and run this category

    MSTest.exe /testcontainer:TestProject.dll /category:CategoryName
    
  4. You have opened the *.vsmdi file and selected some TestLists to run

    MSTest.exe /testmetadata:*.vsmdi /testlist:TestList1 /testlist:TestList2 ...
    
  5. You are running Load or Ordered tests

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

You can combine the above examples (arguments) to create the MSTest command that suits on your case. The only restriction you have is that you cannot use the /testmetada and /testcontainer arguments together.

As for the TestList argument you just need to give as parameter the name of the list. If it is not found then your test list does not exist or it does not belong to the *.vsmdi you have defined on the /testmetadata argument.

I am sure that you have already done it, but you can check the following link: MSTest.exe Command-Line Options




回答2:


See following link. Even though this post is about msbuild. It uses exec task for calling mstest. If you use /testlist you need to give metadata file. You can use /testcontainer and give dll for your test project. It will run all of your tests.

/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


来源:https://stackoverflow.com/questions/4679966/what-command-line-arguments-does-visual-studio-use-for-running-mstest

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!