在C#中如何為Optional類型編寫單元測(cè)試

c#
小樊
81
2024-09-08 04:26:27

在C#中,可以使用NUnit或MSTest等測(cè)試框架來(lái)編寫針對(duì)具有可選參數(shù)的方法的單元測(cè)試

首先,安裝NUnit和NUnit3TestAdapter包。在.csproj文件中添加以下內(nèi)容:

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

接下來(lái),創(chuàng)建一個(gè)名為Calculator.cs的類,其中包含一個(gè)具有可選參數(shù)的方法:

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

現(xiàn)在,創(chuàng)建一個(gè)名為CalculatorTests.cs的測(cè)試類,并編寫針對(duì)Add方法的單元測(cè)試:

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);
    }
}

在這個(gè)例子中,我們編寫了兩個(gè)測(cè)試:

  1. Add_WithoutOptionalParameter_ReturnsExpectedResult:測(cè)試不使用可選參數(shù)的情況。
  2. Add_WithOptionalParameter_ReturnsExpectedResult:測(cè)試使用可選參數(shù)的情況。

這樣,我們就為具有可選參數(shù)的方法編寫了單元測(cè)試。當(dāng)然,你可以根據(jù)需要添加更多的測(cè)試用例來(lái)覆蓋其他場(chǎng)景。

0