没有执行 msTest 的测试

No tests to execute msTest

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

我的命令是

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

当运行它returns

Starting execution...
No tests to execute.

单元测试 运行 在 VS 2012 中完全没问题 IDE。

我需要做什么才能得到它 运行请在 cmd 行上?

试试这个:

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

也就是说,你的 dll 路径周围没有“”

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

生活和学习我猜

我收到了同样的消息 "No tests to execute"。

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

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

我在使用 XUnit 时遇到了同样的问题。 问题是我没有为项目 添加 xunit.runner。这不是很明显,因为它只添加了对 packages.config 和 csproj-file 的引用。它在 Visual Studio 参考列表中不可见。在没有 运行ner 的情况下,mstest 如何知道如何 运行 xunit 测试,这在某种程度上仍然很明显。

就我而言,当我切换到 .NET Framework 4.6.1 时,我开始在命令行上显示 "No tests to execute"。我必须从 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. 创建 .Net Framework 单元测试项目。

  2. 管理 nuget 包 -> 删除 "MSTest.TestFramework" 和 "MSTest.TestAdapter" nuget 包。

  3. 添加对 "Microsoft.VisualStudio.QualityTools.UnitTestFramework"、10.0.0.0.

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

尝试使用 vstest.console.exe


示例:


vstest.console.exe [assembly.dll] /logger:trx;LogFileName=[文件名].trx

1.Open交叉工具命令提示符(使用windows搜索)
选择:VS 2009 的交叉工具命令提示符

[]

2. 打开交叉工具命令行。
3. 导航到项目的 Bin 文件夹
4. Copy/Paste Cross Tools Command Line 中您的 Bin 文件夹的补丁
示例:

比 运行 以下命令:
vstest.console.exe [assembly.dll] /logger:trx;LogFileName=[文件名].trx