C#:
编写测试

如何做:

C# 开发者主要使用 NUnit 或 xUnit 框架来编写测试,因为它们的灵活性和广泛的功能集。这里有一个使用 NUnit 测试一个简单加法函数的基本示例:

  1. 通过 NuGet 包管理器或 .NET CLI 安装 NUnit 和 NUnit3TestAdapter
dotnet add package NUnit
dotnet add package NUnit3TestAdapter
  1. 如果您尚未这样做,请创建一个 C# 类库项目

  2. 编写一个要测试的简单函数。例如,在一个名为 Calculator 的类中的加法方法:

public class Calculator
{
    public int Add(int a, int b)
    {
        return a + b;
    }
}
  1. 使用 NUnit 编写测试类
using NUnit.Framework;

namespace CalculatorTests
{
    [TestFixture]
    public class CalculatorTests
    {
        [Test]
        public void Add_AddsTwoIntegers_ReturnsCorrectSum()
        {
            // 准备
            var calculator = new Calculator();
            int expected = 5;

            // 执行
            int actual = calculator.Add(2, 3);

            // 验证
            Assert.AreEqual(expected, actual);
        }
    }
}
  1. 使用您的 IDE 的测试运行器或 .NET CLI 运行测试
dotnet test

示例输出:

假设您的测试通过,您应该看到类似于此的输出:

测试运行成功。
总测试数:1
     通过:1
 总时间:1.2345 秒

使用 xUnit:

如果您更喜欢 xUnit,设置与 NUnit 类似。这是您使用 xUnit 为 Calculator 类重写测试示例的方法:

  1. 安装 xUnit 和 xUnit.runner.visualstudio
dotnet add package xUnit
dotnet add package xUnit.runner.visualstudio
  1. 使用 xUnit 编写测试类
using Xunit;

namespace CalculatorTests
{
    public class CalculatorTests
    {
        [Fact]
        public void Add_AddsTwoIntegers_ReturnsCorrectSum()
        {
            // 准备
            var calculator = new Calculator();
            int expected = 5;

            // 执行
            int actual = calculator.Add(2, 3);

            // 验证
            Assert.Equal(expected, actual);
        }
    }
}
  1. 使用 .NET CLI 或您的 IDE 集成的测试运行器运行测试

NUnit 和 xUnit 都为参数化测试、设置/拆卸操作和将测试组织成类别提供了强大功能,这些都是 C# 程序员工具箱中保证代码质量和功能性的不可或缺的工具。