繁体   English   中英

没有从MSTest执行的测试

[英]No tests to execute from MSTest

我已经读过没有测试来执行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

我遇到了同样的问题,我花了一些时间才弄明白。 实际的解决方案在评论中。

我的测试使用vstest.console.exe进行了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

如果要使用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针对性能进行了优化,用于代替Visual Studio 2012中的MSTest.exe

暂无
暂无

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

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