[c#] C# 유닛 테스트와 파라미터화된 테스트
C#에서 유닛 테스트는 매우 중요한 소프트웨어 개발 관행 중 하나입니다. 유닛 테스트를 통해 작성한 코드의 품질을 보장하고, 변경 사항이 기존 코드에 영향을 미치는지 여부를 쉽게 확인할 수 있습니다. 또한 파라미터화된 테스트를 사용하여 여러 가지 입력 값에 대한 테스트를 단순화할 수 있습니다.
유닛 테스트 작성하기
다음은 C#에서의 유닛 테스트를 작성하는 간단한 예시입니다.
using System;
using Xunit;
namespace MyProject.Tests
{
public class MathTests
{
[Fact]
public void Add_TwoNumbers_ReturnsSum()
{
// Arrange
var math = new Math();
// Act
var result = math.Add(2, 3);
// Assert
Assert.Equal(5, result);
}
}
}
위의 예시에서 Add_TwoNumbers_ReturnsSum
유닛 테스트는 Math
클래스의 Add
메서드를 테스트합니다.
파라미터화된 테스트 작성하기
파라미터화된 테스트를 사용하면 여러 가지 입력 값에 대해 유닛 테스트를 한 번에 수행할 수 있습니다. 다음은 C#에서의 파라미터화된 테스트를 작성하는 예시입니다.
using System;
using Xunit;
namespace MyProject.Tests
{
public class MathTests
{
[Theory]
[InlineData(2, 3, 5)]
[InlineData(0, 0, 0)]
[InlineData(10, -5, 5)]
public void Add_ValidNumbers_ReturnsExpectedValue(int a, int b, int expectedResult)
{
// Arrange
var math = new Math();
// Act
var result = math.Add(a, b);
// Assert
Assert.Equal(expectedResult, result);
}
}
}
위의 예시에서 Add_ValidNumbers_ReturnsExpectedValue
유닛 테스트는 Math
클래스의 Add
메서드를 여러 가지 입력 값에 대해 테스트합니다.
결론
C#에서 유닛 테스트를 작성하는 데에는 Xunit
, NUnit
, MSTest
등 다양한 도구가 있습니다. 또한 파라미터화된 테스트를 사용하면 여러 가지 다양한 입력 값에 대한 유닛 테스트를 간편하게 작성할 수 있습니다.
참고 문헌: