繁体   English   中英

没有执行 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

运行时返回

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

单元测试在 VS 2012 IDE 中运行得非常好。

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

在我的情况下,当我切换到 .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

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

生活和学习我猜

我收到相同的消息“没有要执行的测试”。

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

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

  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 程序集这对我有用。

尝试使用 vstest.console.exe


示例:


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

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

[1 ]
在此处输入图片说明
2. 打开交叉工具命令行。
3. 导航到您项目的 Bin 文件夹
4. 在 Cross Tools 命令行中复制/粘贴 Bin 文件夹的补丁
示例:

在此处输入图片说明 然后运行以下命令:
vstest.console.exe [assembly.dll] /logger:trx;LogFileName=[文件名].trx

我在使用 XUnit 时遇到了同样的问题。 问题是我没有为项目包含 xunit.runner 这不是很明显,因为它只添加了对 packages.config 和 csproj-file 的引用。 它在 Visual Studio 引用列表中不可见。 很明显,如果没有运行器,mstest 是如何知道如何运行 xunit 测试的。

试试这个:

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

即没有“”围绕你的dll路径

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM