[C# 단위테스트] xUnit FluentAssertions 이용하여 숫자형 테스트 하기
- C#/단위테스트
- 2021. 11. 18. 20:16
소개
- 앞서 xUnit을 이용하여 C#에서 단위테스트를 진행하는 방법에 대해서 학습하였습니다.
- 또한, xUnit에서 보다 직관적으로 단위테스트를 작성할 수 있도록 FluentAssertions 누겟 패키지 사용하는 방법도 설명 드렸습니다.
- 혹시 모르시는 분들을 위해 참조를 걸어 두겠습니다.
- 오늘은 xUnit에서 FluentAssertions 이용하여 숫자형인 정수형, 실수형인 타입을 단위테스트 하는 방법에 대해서 알려 드리려고 합니다.
- 바로 예제 코드 작성을 통해서 보여 드리도록 하겠습니다.
참조
1. 테스트 기본이 되는 코드 작성
- 단위테스트를 진행하기 위해서는 단위테스트를 진행할 기본 클래스 및 메서드가 있어야 합니다.
- 이해하기 쉽게, Calculate 클래스를 선언하고 Add 메서드를 작성하여 테스트 진행하도록 하겠습니다.
using System;
namespace xUnitProgram
{
public class Calculate
{
public int AddInt(int num1, int num2)
{
return num1 + num2;
}
public float AddFloat(float num1, float num2)
{
return num1 + num2;
}
}
class Program
{
static void Main(string[] args)
{
}
}
}
2. 단위테스트 진행할 테스트 코드 작성하기
- 앞서 단위테스트 진행할 기본 베이스 코드를 작성하였습니다.
- 이제 xUnit 테스트 프로젝트를 생성 후, 숫자형 메서드를 단위테스트 진행해 보도록 하겠습니다.
- 참고로 단위테스트 대상이되는 메서드는 반드시 public 형식이어야 합니다.
using FluentAssertions;
using Xunit;
using xUnitProgram;
namespace Number_Test
{
public class UnitTest1
{
[Fact]
public void Assert_Int()
{
// Arrange
Calculate calc = new();
// Act
int result = calc.AddInt(2, 3);
// Arrert
// result = 5
result.Should().Be(5);
// reuslt != 7
result.Should().NotBe(7);
// 1 <= result <= 10
result.Should().BeInRange(1, 10);
// result > 5 || reuslt == 5
result.Should().BeGreaterThanOrEqualTo(5);
// result < 3 || result == 3
result.Should().BeGreaterThanOrEqualTo(3);
// result > 4
result.Should().BeGreaterThan(4);
// result < 5 || result == 5
result.Should().BeLessThanOrEqualTo(5);
// result < 6
result.Should().BeLessThan(6);
// result > 0
result.Should().BePositive();
// result == 3 || result == 5
result.Should().BeOneOf(new[] { 3, 5 });
}
[Fact]
public void Assert_Float()
{
// Arrange
Calculate calc = new();
// Act
float result = calc.AddFloat(10.0f, 2.2f);
// Assert
result.Should().BeApproximately(12.2f, 0.01f);
}
}
}
3. 실행 결과
- 단위테스트 진행 결과 정수형, 실수형 모두 테스트를 정상적으로 통과하였습니다.
728x90
'C# > 단위테스트' 카테고리의 다른 글
[C# 단위테스트] 단위테스트 목표 (0) | 2021.11.22 |
---|---|
[C# 단위테스트] xUnit FlunetAssertions 이용하여 문자형, 불리안 테스트 하기 (0) | 2021.11.21 |
[C# 단위테스트] xUnit FluentAssertions 사용하기 (0) | 2021.11.18 |
[C# 단위테스트] C# xUnit으로 단위테스트 진행하기 (0) | 2021.11.18 |
[C# 단위테스트] C# MSTest 단위테스트 하는 방법 (0) | 2021.11.17 |
이 글을 공유하기