编辑
2025-09-18
C#
00

目录

环境设置
编写测试类
创建被测试的类
创建测试项目
代码解释
运行测试
常用属性
TestCase
SetUp 和 TearDown
常用断言
Assert.IsTrue 和 Assert.IsFalse
结论

NUnit 是一个流行的 .NET 单元测试框架,它使得开发者可以轻松地编写和执行测试。本文将介绍如何使用 NUnit 进行基本的单元测试,包括测试类的设置、测试方法的编写,以及如何运行测试。

环境设置

首先,确保你的开发环境中已安装 NUnit。你可以通过 NuGet 包管理器来安装 NUnit 和 NUnit3TestAdapter。

  1. 打开 Visual Studio。
  2. 创建一个新的 C# 类库项目。

编写测试类

在你的项目中创建一个新的测试类。这个类应该包含你想要测试的方法。以下是一个简单的例子,展示如何测试一个简单的数学运算类。

创建被测试的类

首先,我们创建一个名为 SimpleMath 的类,它包含一个方法 Add,用于计算两个整数的和。

C#
public class SimpleMath { public int Add(int a, int b) { return a + b; } }

创建测试项目

接下来,我们创建一个测试类 TestApp,用 NUnit 框架来测试 SimpleMath 类的 Add 方法。

image.png

C#
using NUnitApp; namespace TestApp { public class Tests { SimpleMath _simpleMath; [SetUp] public void Setup() { _simpleMath = new SimpleMath(); } [Test] public void Add_WhenCalled_ReturnsSumOfArguments() { // Arrange int a = 5; int b = 3; // Act int result = _simpleMath.Add(a, b); // Assert Assert.That(result, Is.EqualTo(8)); } } }

代码解释

  • SetUp 属性标记的方法会在每个测试方法执行前被调用,用于设置测试的初始条件。
  • Test 属性标记的方法是一个测试方法。
  • Assert.That 用于验证结果是否符合预期。

运行测试

在 Visual Studio 中,你可以在测试资源管理器中运行所有测试。只需构建项目,打开测试资源管理器(在“视图”菜单中),然后点击“运行所有”按钮。你的测试结果将显示在测试资源管理器中。

image.png

常用属性

TestCase

允许你为一个测试方法提供多组输入参数和预期结果。

C#
[TestCase(3, 2, 5)] [TestCase(-1, -1, -2)] [TestCase(0, 0, 0)] public void Add_WhenCalled_ReturnsSumOfArguments(int a, int b, int expected) { // Act int result = _simpleMath.Add(a, b); // Assert Assert.That(result, Is.EqualTo(expected)); }

SetUp 和 TearDown

SetUp 在每个测试方法执行前运行,而 TearDown 在每个测试方法执行后运行。

C#
[SetUp] public void Setup() { _simpleMath = new SimpleMath(); } [TearDown] public void Cleanup() { Console.WriteLine("Call Cleanup"); }

image.png

常用断言

Assert.IsTrue 和 Assert.IsFalse

用于验证一个条件是否为真或假。

C#
[Test] public void IsPositive_WhenCalledWithPositiveNumber_ReturnsTrue() { // Act bool result = _simpleMath.IsPositive(1); // Assert Assert.IsTrue(result); } [Test] public void IsPositive_WhenCalledWithNegativeNumber_ReturnsFalse() { // Act bool result = _simpleMath.IsPositive(-1); // Assert Assert.IsFalse(result); }

image.png

结论

使用 NUnit 进行单元测试可以帮助你验证代码的正确性,确保代码在修改或扩展后仍然能正常工作。通过上述示例,你可以开始为自己的项目编写单元测试,从而提高软件的质量和可维护性。

本文作者:技术老小子

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!