c#

在C#中如何为Optional类型编写单元测试

小樊
81
2024-09-08 04:26:27
栏目: 编程语言

在C#中,可以使用NUnit或MSTest等测试框架来编写针对具有可选参数的方法的单元测试

首先,安装NUnit和NUnit3TestAdapter包。在.csproj文件中添加以下内容:

<ItemGroup>
 <PackageReference Include="NUnit" Version="3.13.2" />
 <PackageReference Include="NUnit3TestAdapter" Version="4.0.0" />
</ItemGroup>

接下来,创建一个名为Calculator.cs的类,其中包含一个具有可选参数的方法:

public class Calculator
{
    public int Add(int a, int b, int c = 0)
    {
        return a + b + c;
    }
}

现在,创建一个名为CalculatorTests.cs的测试类,并编写针对Add方法的单元测试:

using NUnit.Framework;

[TestFixture]
public class CalculatorTests
{
    private Calculator _calculator;

    [SetUp]
    public void Setup()
    {
        _calculator = new Calculator();
    }

    [Test]
    public void Add_WithoutOptionalParameter_ReturnsExpectedResult()
    {
        // Arrange
        int a = 5;
        int b = 3;
        int expectedResult = 8;

        // Act
        int result = _calculator.Add(a, b);

        // Assert
        Assert.AreEqual(expectedResult, result);
    }

    [Test]
    public void Add_WithOptionalParameter_ReturnsExpectedResult()
    {
        // Arrange
        int a = 5;
        int b = 3;
        int c = 2;
        int expectedResult = 10;

        // Act
        int result = _calculator.Add(a, b, c);

        // Assert
        Assert.AreEqual(expectedResult, result);
    }
}

在这个例子中,我们编写了两个测试:

  1. Add_WithoutOptionalParameter_ReturnsExpectedResult:测试不使用可选参数的情况。
  2. Add_WithOptionalParameter_ReturnsExpectedResult:测试使用可选参数的情况。

这样,我们就为具有可选参数的方法编写了单元测试。当然,你可以根据需要添加更多的测试用例来覆盖其他场景。

0
看了该问题的人还看了