[C# 단위테스트] C# .NET Framework xUnit 단위테스트 하는 방법

소개

안녕하세요. 오늘은 C#에서 단위테스트에 대해서 학습해 보려고 합니다.

그 중에서도, .NET Framework 환경에서 xUnit 단위테스트 하는 방법에 대해서 알려 드리려고 합니다.

제가 현재 사용하고 있는 Visual Studio 버전은 2019 버전을 사용하고 있고, .NET Core 환경에서는 기본적오르 xUnit 테스트 프로젝트를 Visual Studio 에서 제공해 주고 있습니다.

하지만, .NET Framework 프로젝트에서는 조금은 다르게 xUnit 설정을 해야 하기 때문에 이 부분에 대해서 알려 드리도록 하겠습니다.


1. .NET Framework 프로젝트 생성

  • 첫 번째로, .NET Framework 프로젝트를 하나 생성해 줍니다.
  • xUnit 테스트 프로젝트 생성을 할때는 반드시 클래스 라이브러리 형태로 프로젝트 생성을 해야합니다.


2. xUnit NuGet Package 설치

  • xUnit 단위테스트 진행할 클래스 라이브러리를 생성하였다면, 다음으로는 xUnit NuGet Package를 설치해야 합니다.
  • xUnit 관련 NuGet Package는 2개를 설치해야 합니다.
    • xUnit
    • xUnit.runner.Visualstudio
  • 여기서 xUnit.runner.Visualstudio NuGet을 설치하지 않으면, 단위테스트 진행시 테스트 디버그가 되지 않기 때문에, 반드시 함께 설치를 진행해야 합니다.


packages.config 내용 확인

  • NuGet 패키지가 정상적으로 설치가 되었다면, 아래와 같이 packages.config 파일 내용을 확인하여 다시한번 정상 설치가 되었는지 확인합니다.
<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="xunit" version="2.4.1" targetFramework="net48" />
  <package id="xunit.abstractions" version="2.0.3" targetFramework="net48" />
  <package id="xunit.analyzers" version="0.10.0" targetFramework="net48" />
  <package id="xunit.assert" version="2.4.1" targetFramework="net48" />
  <package id="xunit.core" version="2.4.1" targetFramework="net48" />
  <package id="xunit.extensibility.core" version="2.4.1" targetFramework="net48" />
  <package id="xunit.extensibility.execution" version="2.4.1" targetFramework="net48" />
  <package id="xunit.runner.visualstudio" version="2.4.3" targetFramework="net48" developmentDependency="true" />
</packages>

테스트 코드 작성

  • 이제 .NET Framework 환경에서 xUnit 단위테스트 할 사전 작업은 모두 완료되었습니다.
  • 테스트 코드를 작성하여 실테로 xUnit 단위테스트가 정상적으로 진행되는지 테스트 진행하였습니다.
using Xunit;

namespace xUnitTestProgram
{
    public class Class1
    {
        [Fact]
        public void AddTest()
        {
            // Act
            int result = Add(10, 2);

            // Assert
            Assert.Equal(12, result);
        }

        public int Add(int a, int b)
        {
            return a + b;
        }
    }
}

실행 결과

  • 앞서 테스트 코드를 작성 완료하였다면, 테스트 탐색기 옵션에 들어가서 테스트를 진행하시면 됩니다.
  • 테스트 진행결과 ,정상적으로 단위테스트가 진행된 것을 확인할 수 있습니다.

728x90

이 글을 공유하기

댓글

Designed by JB FACTORY