没有测试来执行msTest

时间:2016-04-21 13:04:08

标签: c# .net visual-studio command-line mstest

我尝试使用MSTest在命令行上运行.NET单元测试

我的命令是

"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\MSTest.exe" /testcontainer:"full path of dll" /resultsfile:TestResults.trx

运行时返回

  

开始执行......
  没有要执行的测试。

单元测试在VS 2012 IDE中完美运行。

我需要做些什么才能让它在cmd线上运行?

6 个答案:

答案 0 :(得分:9)

就我而言,当我切换到.NET Framework 4.6.1时,我开始在命令行上获得“没有要执行的测试”。我必须从MSTest.exe切换到VSTest.Console.exe,它才能正常工作。

一些有关如何使用vstest.console.exe的说明在这里- https://msdn.microsoft.com/en-us/library/jj155800.aspx

也请检查一下- https://msdn.microsoft.com/en-us/library/ms182486.aspx

答案 1 :(得分:6)

事实证明我需要使用nunit-console,因为我的测试是在nuint框架中编写的。

生活和学习我猜

答案 2 :(得分:2)

我得到同样的消息"没有执行测试"。

我发现的是我的一个愚蠢的错误 - 在命令行中,我使用MVCProj09292016.dll(我的项目DLL)用于 testcontainer:/ 而不是使用MVCProj09292016。测试 .dll(我的测试项目程序集)。

底线是检查你是否在命令行中使用了正确的dl名称:它应该是你的 MStest 项目程序集,在我的例子中它是MVCProj09292016.Tests.dll

答案 3 :(得分:2)

  1. 创建一个.Net Framework单元测试项目。

  2. 管理nuget软件包->删除“ MSTest.TestFramework”和“ MSTest.TestAdapter” nuget软件包。

  3. 向“ Microsoft.VisualStudio.QualityTools.UnitTestFramework” 10.0.0.0添加程序集引用。

  4. 重建项目,并验证输出路径(bin \ debug)是否没有任何_MSTest_TestAdapter * .dll程序集 这对我有用。

答案 4 :(得分:0)

尝试使用 vstest.console.exe


示例:


vstest.console.exe [assembly.dll] /logger:trx;LogFileName=[filename].trx

1.打开交叉工具命令提示符(使用windows搜索)
选择:VS 2009的Cross Tools Command Prompt

[1]
enter image description here
2. 打开交叉工具命令行。
3. 导航到您项目的 Bin 文件夹
4. 在 Cross Tools 命令行中复制/粘贴 Bin 文件夹的补丁
示例:

enter image description here 然后运行以下命令:
vstest.console.exe [assembly.dll] /logger:trx;LogFileName=[文件名].trx

答案 5 :(得分:-1)

试试这个:

"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\MSTest.exe" /testcontainer:full path of dll /resultsfile:TestResults.trx

即在你的dll路径周围没有“”