.NET

단위 테스트와 xUnit

xUnit 프레임워크, 테스트 케이스, assertions, Moq, FluentAssertions, 코드 커버리지, TDD 원칙

20 면접 질문·
Mid-Level
1

.NET 맥락에서 xUnit이란 무엇입니까?

답변

xUnit은 JUnit과 NUnit에서 영감을 받은 .NET용 오픈 소스 단위 테스트 프레임워크입니다. 간단한 테스트에는 [Fact], 매개변수화된 테스트에는 [Theory]와 같은 어트리뷰트를 사용합니다. xUnit은 테스트 격리(각 테스트가 새로운 테스트 클래스 인스턴스를 생성)와 같은 모범 사례를 권장하며 전통적인 Setup/Teardown 메서드를 통한 공유 상태를 피합니다.

2

xUnit에서 [Fact]와 [Theory]의 차이점은 무엇입니까?

답변

[Fact]는 매개변수 없이 한 번 실행되는 간단한 테스트를 데코레이션하고, [Theory]는 [InlineData], [MemberData] 또는 [ClassData]를 통해 제공되는 다양한 값으로 여러 번 실행되는 매개변수화된 테스트를 데코레이션합니다. [Theory]를 사용하면 서로 다른 데이터로 여러 유사한 시나리오를 테스트할 때 코드 중복을 피할 수 있습니다.

3

xUnit에서 [InlineData]를 [Theory]와 함께 어떻게 사용합니까?

답변

[InlineData]는 [Theory] 테스트를 위해 어트리뷰트 내에서 데이터를 직접 제공하여 동일한 테스트를 다른 값으로 실행할 수 있게 합니다. 각 [InlineData] 어트리뷰트는 별개의 테스트 케이스를 나타냅니다. 이 방식은 별도의 데이터 클래스를 만들지 않고 여러 간단한 시나리오를 테스트하는 데 이상적이며 boilerplate 코드를 줄여줍니다.

4

.NET 단위 테스트에서 Moq의 주요 장점은 무엇입니까?

5

메서드가 특정 값을 반환하도록 Moq으로 mock을 어떻게 구성합니까?

+17 면접 질문

다음 면접을 위해 .NET을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기