nUnit과 xUnit은 모두 .NET 환경에서 사용되는 테스트 프레임워크입니다.

비슷한 목표를 가지고 있지만, 여러 가지 중요한 차이점이 존재합니다.

 

어트리뷰트 및 테스트 메서드 정의: 두 프레임워크는 어트리뷰트와 테스트 메서드 정의 방식에서 차이가 있습니다.

팩트(Fact) 및 이론(Theory) 테스트: xUnit은 이론 테스트를 지원하여 다양한 입력 데이터를 사용할 수 있게 해줍니다.

테스트 데이터 제공: xUnit은 데이터 제공 측면에서 더 유연하며 다양한 방법을 제공합니다.

테스트 그룹화 및 확장성: xUnit은 테스트 그룹화 및 확장성 측면에서 간결하고 유연한 접근 방식을 사용합니다.

테스트 러너 및 확장: xUnit은 테스트 러너와 확장성 측면에서 더 유연하며 커스터마이징이 쉽게 가능합니다.

nUnit

  • [TestFixture]: 테스트 클래스를 정의합니다.
  • [Test]: 테스트 메서드를 정의하고 테스트 케이스를 나타냅니다.
  • [SetUp]: 각 테스트 메서드 이전에 실행할 설정 메서드를 정의합니다.
  • [TearDown]: 각 테스트 메서드 이후에 실행할 정리 메서드를 정의합니다.
  • [TestCase]: 매개변수화된 테스트를 정의하고 여러 입력 값에 대해 동일한 테스트를 여러 번 실행할 수 있습니다.
  • [TestCaseSource]: 테스트 케이스 데이터를 제공하는 소스 메서드를 지정합니다.
  • [Ignore]: 테스트를 무시하고 실행하지 않도록 지정합니다.

xUnit

  • [Fact]: 사실(팩트)로서 실행되는 단일 테스트 메서드를 정의합니다.
  • [Theory]: 다양한 입력 데이터를 사용하여 여러 번 실행할 수 있는 테스트를 정의합니다.
  • [InlineData]: [Theory]와 함께 사용되며, 입력 데이터를 지정합니다.
  • [ClassData]: 클래스의 데이터 소스를 지정하여 테스트 메서드에 데이터를 제공합니다.
  • [Trait]: 테스트를 특성으로 그룹화하여 필터링할 수 있도록 지정합니다.
  • [BeforeAfterTestAttribute]: 테스트 메서드 전후에 실행할 코드를 제공합니다.
  • [Collection]: 관련된 테스트 클래스를 그룹화하기 위해 사용됩니다.
  • [MemberData]: 매개변수화된 테스트를 정의할 때 사용되며, 메서드와 데이터 소스를 제공합니다.

참조

nUnit

xUnit

반응형

'Programming > Blah Blah' 카테고리의 다른 글

윈도우 업데이트 에러(KB5034441 / 0x80070643)  (0) 2024.05.16
경량화폰트  (1) 2022.02.22
윈도우 더미 파일 생성  (0) 2021.12.06
Domain Driven Design  (0) 2021.10.04
Kinematica 캐릭터 모션 매칭(Motion Matching)  (0) 2021.06.29
Voxelization  (0) 2021.02.21
Clipmaps  (0) 2021.01.27
의존성 주입(Dependency Injection)  (0) 2020.04.10