Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
645 views
in Technique[技术] by (71.8m points)

visual studio 2010 - How to run unit testing tests from command line?

I googled and found the below helpful references. Currently I want to run all from the command-line (for easy of execution & quickness) in cases:

  1. A specific test (ie. a test written by a method marked [TestMethod()])
  2. All tests in a class
  3. All impacted tests of the current TFS pending change of mine.
  4. All tests
  5. All tests except the ones marked as category [TestCategory("some-category")]

I'm not sure how can I write a correct command for my needs above.

References:

  1. the MSTest.exe http://msdn.microsoft.com/en-us/library/ms182487.aspx
  2. the MSTest.exe's detailed options http://msdn.microsoft.com/en-us/library/ms182489.aspx
  3. obtaining the result http://msdn.microsoft.com/en-us/library/ms182488.aspx

[Edit]

After a while, I found the below useful tips.

  1. run Visual Studio unit tests by using MSTest.exe, located at %ProgramFiles%Microsoft Visual Studio 10.0Common7IDEMSTest.exe in my case.
  2. using /testcontainer:PathToYourTestProjectAssembly.dll to indicate where your tests are coded. You can specify multiple '/testcontainer' options if required.
  3. using /test:TestFilter to filter the tests to run. Note that this filter is applied to the full test method name (ie. FullNamespace.Classname.MethodName)
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Currently I can have some answers for my needs:

  1. A specific test (ie. a test written by a method marked [TestMethod()])
    Use MSTest.exe /container:TheAssemblyContainingYourSpecificTest /test:TheSpecificTestName

  2. All tests in a class
    Use MSTest.exe /container:TheAssemblyContainingYourClass /test:TheClassNameWithFullNamespace
    Note that the /test: is the filter which uses the full name of the class when filtering.

The others are still left unknown. Please disscuss if you know how.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...