【问题标题】:How to fix: NUnit unit tests not showing up in testing pad in Visual Studio Community (Mac)如何修复:NUnit 单元测试未显示在 Visual Studio 社区 (Mac) 的测试板中
【发布时间】:2019-02-07 00:28:57
【问题描述】:

尽管将 NuGet 中的 NUnit 添加到现有的 .Net Core 项目中,但测试板中没有显示任何单元测试。

注意:我将这些图片作为链接发布,因为我的声誉太低而无法发布图片。这是怎么回事?

  1. Project > Add NuGet Packages...
  2. Selected NUnit Package (3.11.0) and clicked "Add Package"
  3. Checked to see if added to solution
  4. 在解决方案中创建了一个新的空类文件
  5. 向此类添加测试
  6. No tests show up in the test pad

我已尝试重新启动 Visual Studio 并重新安装包。

我也尝试过删除 Project/obj 目录 - 仍然没有成功。

using NUnit.Framework;
namespace ExampleLib
{
    [TestFixture]
    public class ExampleTestFixture
    {
        [Test]
        public void ExampleTest()
        {
            Assert.AreEqual(2, 2);
        }
    }
}

预期:测试填充单元测试板 实际:空测试垫。

【问题讨论】:

    标签: c# visual-studio nunit


    【解决方案1】:

    该项目有多个需求,因此 VS for Mac 可以识别并执行测试用例。

    1. 项目必须是 .NET Core 的控制台应用程序。
    2. 项目必须有Microsoft.NET.Test.Sdk 的引用(VSTest 基础架构要求)。
    3. 项目必须有NUnit的引用。
    4. 项目必须有NUnit3TestAdapter 的引用(VSTest 基础架构要求)。

    例子,

    <Project Sdk="Microsoft.NET.Sdk">
    
      <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFramework>netcoreapp2.2</TargetFramework>
      </PropertyGroup>
    
      <ItemGroup>
        <PackageReference Include="NUnit" Version="3.11.0" />
        <PackageReference Include="NUnit3TestAdapter" Version="3.12.0" />
        <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" />
      </ItemGroup>
    </Project>
    

    请注意,适用于 Windows 的 VS 和适用于 Mac(以及 JetBrains Rider)的 VS 都使用 VSTest 进行单元测试,因此此设置适用于所有此类 IDE。

    另外注意如果你不是从dotnet new nunit创建这个控制台项目,而是一个普通的控制台应用模板,你需要手动删除Main方法。

    【讨论】:

    • 我将它添加到现有项目中,它给了我一个问题,即存在多个 Main。然后我在根项目目录中运行 dotnet new nunit 并删除了错误。您可以将其添加到此答案中吗?非常感谢你的帮助。不知道为什么这两个模板会有这么大的不同。
    【解决方案2】:

    NuGet 包仅允许您使用 NUnit 框架编写测试。换句话说,这就像添加对 NUnit DLL 的引用。

    您需要安装adapter 才能查看测试。

    【讨论】:

    • 这不适用于 Visual Studio 社区版 (MacOS)。我什至无法打开那个文件。包装中显示 Visual Studio 2012、2013、2015、2017。
    • @shua 尝试通过从 VS 菜单栏中转到工具 > 扩展来安装它。我不确定该扩展是否支持 MacOS,但它们就是这样。如果没有,那么不幸的是你运气不好,你只需要使用 Visual Studio 的单元测试框架。
    • 你可能指向了错误的链接,nuget.org/packages/NUnit3TestAdapter/3.12.0适配器是一个 NuGet 包。
    • @CodingYoshi 没有工具 > 扩展选项。
    • @LexLi,我能够安装 NUnit3TestAdapter,但测试仍然没有出现。我尝试重新启动 Visual Studio,清理项目和解决方案,并完全创建一个新的控制台应用程序。还是没有运气。
    【解决方案3】:

    作为lex-li cmets,您应该安装适配器的nuget 版本 (https://www.nuget.org/packages/NUnit3TestAdapter/3.12.0)。
    您将其安装到您的解决方案中,最好用于所有测试项目。

    (市场上的适配器是 vsix 适配器,它可以安装到 VS 本身中 - 但不推荐这种做法,正如您所指出的,它似乎甚至不适用于 Mac 社区版本。)

    【讨论】:

    • 这仍然没有结果。
    猜你喜欢
    • 2023-03-02
    • 1970-01-01
    • 2010-10-17
    • 2022-06-25
    • 1970-01-01
    • 1970-01-01
    • 2014-10-05
    • 1970-01-01
    • 2011-10-12
    相关资源
    最近更新 更多