在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);
}
}
在这个例子中,我们编写了两个测试:
Add_WithoutOptionalParameter_ReturnsExpectedResult
:测试不使用可选参数的情况。Add_WithOptionalParameter_ReturnsExpectedResult
:测试使用可选参数的情况。这样,我们就为具有可选参数的方法编写了单元测试。当然,你可以根据需要添加更多的测试用例来覆盖其他场景。