如何在Visual Studio 2017中运行NUnit测试?
问题的原因是在Visual Studio 2017中无法找到NUnit测试运行器。解决方法是安装NUnit 3库,并按照以下步骤进行操作:
1. 在NuGet中添加NUnit 3库。
2. 创建要测试的类。
3. 创建一个独立的测试类,并在其上方添加[TestFixture]。
4. 在测试类中创建一个函数,并在其上方添加[Test]。
5. 进入TEST/WINDOW/TEST EXPLORER。
6. 点击左侧的运行按钮,将显示通过和失败的结果。
以下是示例代码:
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中的参数,将会失败。在Visual Studio 2019中,可以在Test/TestExplorer中找到测试窗口。
如何在Visual Studio 2017中运行NUnit测试?
在Visual Studio 2017中运行NUnit测试需要安装NUnitTestAdapter。最新版本的NUnit是3.x.y(3.6.1),你应该同时安装NUnit3TestAdapter和NUnit 3.x.y。
要在Visual Studio 2017中安装NUnit3TestAdapter,请按照以下步骤进行操作:
1. 右键单击菜单“Project”→点击上下文菜单中的“Manage NuGet Packages…”
2. 转到“Browse”选项卡,然后搜索NUnit
3. 选择NUnit3TestAdapter→在右侧点击“Install”→点击“OK”来确认安装
你也可以从Visual Studio的“Project”菜单中打开“NuGet Package Manager”。
![NuGet Package Manager](https://i.stack.imgur.com/Q2Axw.png)
问题的原因是没有将NUnit测试适配器NuGet包添加到测试项目中,或者没有安装Visual Studio测试适配器扩展。解决方法是添加相应的NuGet包或安装适配器扩展,并确保在测试项目中引用了Microsoft.NET.Test.Sdk。另外,可能需要重新启动Visual Studio才能在项目的上下文菜单中看到“运行测试”选项。
文章如下:
如何在Visual Studio 2017中运行NUnit测试?
要在Visual Studio 2017中运行NUnit测试,需要按照以下步骤进行设置:
1. 向测试项目添加NUnit测试适配器NuGet包。根据你的NUnit版本,你可以选择使用2.*版本的NUnitTestAdapter(https://www.nuget.org/packages/NUnitTestAdapter/)或3.*版本的NUnit3TestAdapter(https://www.nuget.org/packages/NUnit3TestAdapter/)。
2. 或者,你也可以安装Test Adapter Visual Studio扩展。对于2.*版本的NUnit,你可以从Visual Studio Marketplace(https://marketplace.visualstudio.com/items?itemName=NUnitDevelopers.NUnitTestAdapter)中找到适配器扩展;对于3.*版本的NUnit,你可以从Visual Studio Marketplace(https://marketplace.visualstudio.com/items?itemName=NUnitDevelopers.NUnit3TestAdapter)中找到适配器扩展。
我个人更喜欢使用NuGet包,因为它可以与项目使用的NUnit版本保持同步,并且可以自动匹配任何构建服务器中使用的版本。
另外,确保在测试项目中引用了Microsoft.NET.Test.Sdk。尤其是当你的项目目标是.NET Core时,这一点尤为重要。我曾经漏掉这个引用,导致我遇到了一些问题。
需要注意的是,选择NUnit测试适配器NuGet包的另一个好处是,你的同事不需要安装任何Visual Studio扩展,而你的构建服务器也不需要进行额外的安装。
如果你安装了NuGet包和适配器,但不知道如何运行这些测试,可以尝试在Visual Studio的“查看/其他窗口”菜单中查找NUnit测试资源管理器。
另外,根据你的计算机或版本,可能需要在安装NUnit和TestAdapter NuGet包后重新启动Visual Studio。只有在重新启动后,项目的上下文菜单中才会出现“运行测试”选项。这一点对我来说并不明显,所以我在这里分享出来,希望能帮助到其他人!