ChatGPT解决这个技术问题 Extra ChatGPT

如何在 Visual Studio 2017 中运行 NUnit 测试?

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

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

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

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

P
Peter Mortensen

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

2.* (https://www.nuget.org/packages/NUnitTestAdapter/)

3.* (https://www.nuget.org/packages/NUnit3TestAdapter/)

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

2.* (https://marketplace.visualstudio.com/items?itemName=NUnitDevelopers.NUnitTestAdapter)

3.* (https://marketplace.visualstudio.com/items?itemName=NUnitDevelopers.NUnit3TestAdapter)。

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


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

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

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

右键单击菜单项目→从上下文菜单中单击“管理 NuGet 包...”转到“浏览”选项卡并搜索 NUnit 选择 NUnit3TestAdapter →单击右侧的“安装”→从“预览”弹出窗口中单击“确定”

https://i.stack.imgur.com/Q2Axw.png


您也可以从 VS 的项目菜单中打开“NuGet 包管理器”。
P
Peter Mortensen

这个帮助了我:

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/测试资源管理器时什么都没有找到
Ctrl-alt-delor 这是 Visual Studio 2019 中的 Test/TestExplorer,这可能是微软最近做的一个微妙的改变。
P
Peter Mortensen

您需要安装三个 NuGet 包:

单元

NUnit3TestAdapter

Microsoft.NET.Test.Sdk


如果您尝试在不是您创建的项目中运行测试,这是唯一可靠的解决方案。 VS 扩展将静默失败。
P
Peter Mortensen

您必须在 Visual Studio 中选择单元测试的处理器架构:菜单测试 → 测试设置 → 默认处理器架构

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

附加信息发生了什么,您可以在 Visual Studio 的“输出窗口”中考虑并选择下拉列表“显示输出自”并设置“测试”。


这是非常重要的答案,非常感谢,设置正确的“默认处理器架构”修复问题。
P
Peter Mortensen

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

我必须先打开菜单 Test → Windows → Test Explorer,然后从那里运行测试,然后运行/调试测试的选项才会显示在右键菜单上。


D
Dejan

使用 CLI 创建一个正常运行的 NUnit 项目非常简单。 template 为您完成一切。

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

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


N
NIRAJ RANA

从 Manage Nunit 包中将 NUnit 和 NunitTestAdapter 包安装到您的测试项目中。执行相同操作: 1 右键单击菜单项目 → 单击“管理 NuGet 包”。 2 转到“浏览”选项卡 -> 搜索 Nunit(或您要安装的任何其他包) 3 单击包 -> 侧屏幕将打开“选择项目并单击安装。

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


P
Peter Mortensen

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

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