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

Dan*_*ler 163 nunit visual-studio vstest visual-studio-2017 visual-studio-2019

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

有没有办法让NUnit运行,或者我能找到更新?我从Nuget包管理器重新安装了NUnit到最新版本但没有任何改进.

jes*_*ing 202

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

或者安装Test Adapter visual studio扩展.有一个

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

  • 还要确保引用了[Microsoft.NET.Test.Sdk](https://www.nuget.org/packages/Microsoft.NET.Test.Sdk/),至少如果您的目标是.NET Core.我忽略了我错过了这个参考. (17认同)
  • 我坚持了很长一段时间,因为没有一个解决方案有效.然后我从[this](http://hermit.no/net-core-setup/)行中发现,目标".NET Standard"的类库不起作用.测试项目必须以.NET Core为目标.此外,还需要`Microsoft.NET.Test.Sdk` NuGet. (5认同)
  • 完美!!在我的 VS 2017 上工作。如果安装了 Test Adapter 2.0,那么应该匹配 -> 更新 Nuget 包 NUnit 2.xx 版本。如果测试适配器 3.0 -> 将 nuget 包更新为 3.xx 谢谢@jessehouwing (3认同)
  • 值得一提的是,选择NUnit测试适配器NuGet包的另一个好理由是你的同事不必安装任何VS扩展.而您的构建服务器也不需要任何额外的分期付款. (3认同)

Rip*_*sim 34

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

要在Visual Studio 2017中安装NUnit3TestAdapter,请执行以下步骤:

  1. 右键单击Project - >从上下文菜单中单击"Manage Nuget Packages .."
  2. 转到"浏览"选项卡并搜索NUnit
  3. 选择NUnit3TestAdapter - >单击右侧的"安装" - >从"预览"弹出窗口中单击"确定" 在此输入图像描述


小智 23

这个帮助了我:https: //www.infragistics.com/community/blogs/dhananjay_kumar/archive/2015/07/27/getting-started-with-net-unit-testing-using-nunit.aspx

基本上:

  • 在Nuget中添加NUnit 3库.
  • 创建要测试的类.
  • 创建一个单独的测试类,它应该在它上面有[TestFixture].
  • 在Testing Class中创建一个函数,它应该在它上面有[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));
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

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

  • 其他人不是在谈论如何运行它,这是我唯一想要的东西.竖起大拇指!!! (2认同)

Dav*_*ang 10

您需要安装3个NuGet软件包:

  • Nunit
  • NUnit3TestAdapter
  • Microsoft.NET.Test.Sdk

祝您编写单元测试愉快!

  • 如果您尝试在不是您创建的项目中运行测试,这是唯一可靠的解决方案。VS 扩展将默默地失败。 (2认同)

Mic*_*ack 7

  • 您必须选择VS中的单元测试的处理器体系结构:
    Test > Test Settings > Default processor architecture

  • 必须打开测试适配器才能查看测试:(VisualStudio例如:
    Test->Windows->Test Explorer


其他信息发生了什么,您可以在“ VS-Output-Window”中考虑并选择“显示输出自”下拉菜单并设置“ Tests”

  • 这是非常重要的答案,非常感谢,设置正确的“默认处理器架构”修复问题。 (2认同)