【问题标题】:How can I run NUnit tests in Visual Studio 2017?如何在 Visual Studio 2017 中运行 NUnit 测试?
【发布时间】:2017-03-24 19:34:37
【问题描述】:

我刚刚安装了 Visual Studio 2017。我有一个项目使用 NUnit 作为测试用例。 Ctrl + R - T 不再运行测试,并且测试资源管理器不再找到任何标有 TestCase 属性的测试用例。

有没有办法让 NUnit 运行,或者我能找到更新?

我从 NuGet 包管理器将 NUnit 重新安装到最新版本,但没有任何改进。

【问题讨论】:

  • 就是这样。我需要重新安装 NUnitTestAdapter。您可以将其作为解决方案提交吗?
  • 你已经安装了NUnit,对吧?现在您需要安装 NUnit3TestAdapter 以在 VS 2017 中运行 NUnit 测试。
  • 为什么这也被标记为 2019?

标签: visual-studio visual-studio-2017 nunit vstest visual-studio-2019


【解决方案1】:

将 NUnit 测试适配器 NuGet 包添加到您的测试项目中

或者安装测试适配器 Visual Studio 扩展。有一个

我更喜欢 NuGet 包,因为它会与您的项目使用的 NUnit 版本同步,因此会自动匹配任何构建服务器中使用的版本。

【讨论】:

  • 完美!!在我的 VS 2017 上工作。如果安装了测试适配器 2.0,那么应该匹配 -> 更新 Nuget 包 NUnit 2.x.x 版本。如果测试适配器 3.0 -> 将 nuget 包更新为 3.x.x。谢谢@jessehouwing
  • 另外确保你引用了Microsoft.NET.Test.Sdk,至少如果你的目标是.NET Core。我忽略了我错过了那个参考。
  • 我被这个问题困扰了很长一段时间,因为没有一个解决方案有效。然后我从this 行发现目标为“.NET Standard”的类库不起作用。测试项目必须以 .NET Core 为目标。此外,Microsoft.NET.Test.Sdk NuGet 是必需的。
  • 值得一提的是,选择 NUnit 测试适配器 NuGet 包的另一个好理由是您的同事不必安装任何 VS 扩展。而且您的构建服务器也不需要任何额外的分期付款。
  • 我都安装了,但如何运行这些测试并不明显。查看查看/其他窗口但找不到 nunit 测试资源管理器
【解决方案2】:

您需要安装 NUnitTestAdapter。 NUnit 的最新版本是 3.x.y (3.6.1),你应该安装 NUnit3TestAdapter 和 NUnit 3.x.y

要在 Visual Studio 2017 中安装 NUnit3TestAdapter,请按照以下步骤操作:

  1. 右键单击菜单项目 → 从上下文菜单中单击“管理 NuGet 包...”
  2. 转到浏览选项卡并搜索 NUnit
  3. 选择NUnit3TestAdapter → 点击右侧的Install → 在Preview 弹出窗口中点击OK

【讨论】:

  • 你也可以从VS的Project菜单中打开“NuGet Package Manager”。
【解决方案3】:

这个帮助了我:

Getting started with .NET unit testing using NUnit

基本上:

  • 在 NuGet 中添加 NUnit 3 库。
  • 创建您要测试的类。
  • 创建一个单独的测试类。这上面应该有 [TestFixture]。
  • 测试类中创建一个函数。这上面应该有 [Test]。
  • 然后进入 TEST/WINDOW/TEST EXPLORER(穿过顶部)。
  • 单击左侧的运行。它会告诉你什么已经过去,什么失败了。

我的示例代码在这里:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using NUnit.Framework;

namespace NUnitTesting
{
    class Program
    {
        static void Main(string[] args)
        {
        }
    }

    public class Maths
    {
        public int Add(int a, int b)
        {
            int x = a + b;
            return x;
        }
    }

    [TestFixture]
    public class TestLogging
    {
        [Test]
        public void Add()
        {
            Maths add = new Maths();
            int expectedResult = add.Add(1, 2);
            Assert.That(expectedResult, Is.EqualTo(3));
        }
    }
}

这将返回 true,如果您更改 Is.EqualTo 中的 参数,它将失败,等等。

【讨论】:

  • 当我做测试/windows/test explorer时什么都没有找到
  • Ctrl-alt-delor 这是 Visual Studio 2019 中的 Test/TestExplorer,这可能是微软最近所做的一个微妙的改变。
【解决方案4】:

你需要安装三个 NuGet 包:

  • NUnit
  • NUnit3TestAdapter
  • Microsoft.NET.Test.Sdk

【讨论】:

  • 如果您尝试在不是您创建的项目中运行测试,这是唯一可靠的解决方案。 VS 扩展将静默失败。
【解决方案5】:
  • 您必须在 Visual Studio 中选择单元测试的处理器架构: 菜单测试测试设置默认处理器架构

  • 必须打开测试适配器才能查看测试:(Visual Studio 例如: 菜单测试Windows测试资源管理器


更多信息,您可以在 Visual Studio 的“输出窗口”中考虑并选择下拉菜单“显示输出自”并设置“测试”。

【讨论】:

  • 这是非常重要的答案,非常感谢,设置正确的“默认处理器架构”修复问题。
【解决方案6】:

对于任何对 Visual Studio 2019 有疑问的人:

我必须先打开菜单 TestWindowsTest Explorer,然后从那里运行测试,然后再选择 Run /调试测试将显示在右键菜单中。

【讨论】:

    【解决方案7】:

    使用 CLI 创建功能正常的 NUnit 项目非常简单。 template 为您做一切。

    dotnet new -i NUnit3.DotNetNew.Template
    dotnet new nunit
    

    在 .NET Core 上,这绝对是我的首选方式。

    【讨论】:

      【解决方案8】:

      要在 Visual Studio 2017 中运行或调试测试,我们需要安装“NUnit3TestAdapter”。我们可以在任何版本的 Visual Studio 中安装它,但它在 Visual Studio“社区”版本中可以正常工作。

      要安装它,您可以通过 NuGet 包添加它。

      【讨论】:

        【解决方案9】:

        从管理 Nunit 包将 NUnit 和 NunitTestAdapter 包安装到您的测试项目。执行相同的操作: 1 右键单击​​菜单项目 → 单击“管理 NuGet 包”。 2 转到“浏览”选项卡 -> 搜索 Nunit(或您要安装的任何其他软件包) 3 点击Package -> 侧屏会打开“Select the project and click on the install.

        执行您的任务(添加代码) 如果您的项目是控制台应用程序,则顶部会显示一个播放/运行按钮,单击该按钮可以运行您的任何应用程序,如果您的应用程序是类库,请转到测试资源管理器并单击“全部运行”选项。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-24
          • 1970-01-01
          • 1970-01-01
          • 2011-10-12
          相关资源
          最近更新 更多