在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è)試:
Add_WithoutOptionalParameter_ReturnsExpectedResult
:測(cè)試不使用可選參數(shù)的情況。Add_WithOptionalParameter_ReturnsExpectedResult
:測(cè)試使用可選參數(shù)的情況。這樣,我們就為具有可選參數(shù)的方法編寫了單元測(cè)試。當(dāng)然,你可以根據(jù)需要添加更多的測(cè)試用例來(lái)覆蓋其他場(chǎng)景。