【问题标题】:No tests to execute from MSTest没有要从 MSTest 执行的测试
【发布时间】:2018-02-01 14:13:10
【问题描述】:

我已阅读No tests to execute msTest

我正在尝试从命令行运行单元测试(MS 单元测试)。这是我第一次尝试。

我的命令运行良好(没有语法错误),即

mstest /testcontainer:C:\Users\me\source\repos\Test03\UnitTestProject1\bin\debug\UnitTestProject1.dll

问题是我总是在控制台中得到以下响应

正在加载 C:\Users\me\source\repos\Test03\UnitTestProject1\bin\debug\UnitTestProject1.dll...
开始执行...
没有要执行的测试。

我的单元测试很简单

namespace UnitTestProject1
{
    [TestClass]
    public class UnitTest1
    {
        [TestMethod]
        public void AddPositive()
        {
            var bll = new ConsoleApp1.Bll();
            var result = bll.Add(2, 5);
            Assert.IsTrue(result == 7);
        }
     }

为什么我按照https://msdn.microsoft.com/en-us/library/ms182489.aspx#testcontainer 的说明没有找到测试?

整个解决方案针对 4.6.1 ,我使用的是 VS 2017 Enterprise

【问题讨论】:

  • 您是否进行了调试构建?
  • @JoePhillips:DLL 至少在调试文件夹中
  • @ThomasWeller 是的,但它可能在任何测试存在之前就已构建。这里真的没有太多其他可能出错的地方
  • 是的,我做了一个调试版本。我还尝试了发布版本并更新了路径。我知道两种构建解决方案之间的区别:)
  • 更新以使用 vstest.console 实际上可以运行并运行所有测试。这可以转移到我的答案@Caramiriel

标签: c# visual-studio unit-testing


【解决方案1】:

如果您想使用mstest.exe,您需要在您的项目文件中提供以下参考:

<Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />

如果你有(这似乎是新创建的测试项目的默认设置):

<Reference Include="Microsoft.VisualStudio.TestPlatform.TestFramework, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\MSTest.TestFramework.1.3.2\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll</HintPath>
</Reference>
<Reference Include="Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\MSTest.TestFramework.1.3.2\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll</HintPath>
</Reference>

你需要使用vstest.console.exe

请注意VSTest.Console.exe is optimized for performance and is used in place of MSTest.exe in Visual Studio 2012

【讨论】:

  • 非常感谢您的解决方案!真的很有帮助!
【解决方案2】:

我遇到了同样的问题,我花了一些时间才弄清楚。实际的解决方案在 cmets 中。

使用vstest.console.exe 发现我的测试:

Visual Studio Enterprise 2017:

"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe"

更多信息请参见https://docs.microsoft.com/en-us/visualstudio/test/vstest-console-options

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-08
    • 1970-01-01
    • 1970-01-01
    • 2013-04-05
    • 2012-08-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多