I'm trying to run .NET unit tests on the command line using MSTest
My command is
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\MSTest.exe" /testcontainer:"full path of dll" /resultsfile:TestResults.trx
When run it returns
Starting execution...
No tests to execute.
The unit test runs perfectly fine in VS 2012 IDE.
What do I need to do to get it running on the cmd line please?
In my case I started getting "No tests to execute" on command line when I switched to .NET Framework 4.6.1. I had to switch from MSTest.exe to VSTest.Console.exe for it to work.
Some instructions on how to use vstest.console.exe are here - https://msdn.microsoft.com/en-us/library/jj155800.aspx
Also check this out - https://msdn.microsoft.com/en-us/library/ms182486.aspx
It turns out I needed to use the nunit-console as my tests are written in the nunit framework.
Live and learn I guess
I was getting same message "No tests to execute".
What I found out was a silly mistake on my part - in command line, I was using MVCProj09292016.dll(my project DLL) for testcontainer:/ instead of using MVCProj09292016. Tests .dll(my test project assembly).
Bottom line is that check whether you are using correct dl name in command line:it should be your MStest project assembly, in my case it is MVCProj09292016.Tests.dll
Create a .Net Framework unit test project.
Manage nuget packages -> Remove "MSTest.TestFramework" and "MSTest.TestAdapter" nuget packages.
Add an assembly reference to "Microsoft.VisualStudio.QualityTools.UnitTestFramework", 10.0.0.0.
Rebuild the project and verify that the output path(bin\\debug) does not have any _MSTest_TestAdapter*.dll assemblies This works for me.
vstest.console.exe [assembly.dll] /logger:trx;LogFileName=[filename].trx
1.Open Cross tools command prompt (use windows search)
Choose: Cross Tools Command Prompt for VS 2009
[ ]
2. Open the Cross Tools Command line.
3. Navigate to your project's Bin folder
4. Copy/Paste your Bin folder's patch inside Cross Tools Command Line
Example:
Than run the following command:
vstest.console.exe [assembly.dll] /logger:trx;LogFileName=[filename].trx
I had the same issue when I was using XUnit. The problem was that I didn't had included xunit.runner for the project . It's not very obvious, since it only adds a reference to packages.config and csproj-file. It's not visible in Visual Studio references list. It is still obvious in a way that without a runner, how does the mstest know how to run xunit tests.
Try this:
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\MSTest.exe" /testcontainer:full path of dll /resultsfile:TestResults.trx
Ie without the " " around your path to the dll
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.