[英]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
创建 .Net Framework 单元测试项目。
管理 nuget 包 -> 删除“MSTest.TestFramework”和“MSTest.TestAdapter”nuget 包。
添加对“Microsoft.VisualStudio.QualityTools.UnitTestFramework”的程序集引用,10.0.0.0。
重建项目并验证输出路径(bin\\debug)没有任何 _MSTest_TestAdapter*.dll 程序集这对我有用。
vstest.console.exe [assembly.dll] /logger:trx;LogFileName=[文件名].trx
1.打开交叉工具命令提示符(使用windows搜索)
选择:VS 2009 的交叉工具命令提示符
[ ]
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.