Programming/Blah Blah
nUnit과 xUnit 프레임워크 차이
휘탱
2023. 10. 19. 01:35
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]
: 매개변수화된 테스트를 정의할 때 사용되며, 메서드와 데이터 소스를 제공합니다.
참조
반응형