본문 바로가기
카테고리 없음

NUnit 단위 테스트 속성

by 은유지니 2025. 1. 21.

[TestFixture] : 테스트용 클래스에 붙임

[SetUp] : 각 테스트 함수 실행 전에 호출됨. 테스트 한개당 한번(ex. 초기화 작업)

[Test] 테스트 함수 정의(독립적인 단위 테스트)

[TearDown] : 각 테스트 함수 실행 뒤 수행(ex. 리소스 해제, 메모리 정리)

[OneTimeSetUp] : 모든 테스트 실행 전에 한번만 실행(ex. 공통 초기화 작업)

[OneTimeTearDown] : 모든 테스트 함수 실행이 끝난 후, 한번만 실행(ex. 공통 정리 작업)

[Ignore] : 해당 테스트 함수 무시

[Ignore("테스트를 임시로 비활성화합니다.")]



[TestCase] : 테스트함수 매개변수 사용

[TestCase(1, 2, 3)]
[TestCase(-1, -2, -3)]
public void Add_ShouldReturnCorrectSum(int a, int b, int expected)
{
	//...
}



[TestCaseSource] : 데이터를 외부에서 가져와 테스트 실행
[Test, TestCaseSource(nameof(TestData))]

public static IEnumerable<TestCaseData> TestData()
{
    yield return new TestCaseData(1, 2, 3);
    yield return new TestCaseData(-1, -2, -3);
}

[Test, TestCaseSource(nameof(TestData))]



[Category] : 테스트 그룹화

[Timeout] : 실행 시간 제한

[Test, Timeout(1000)]



[Explicit] : 명시적으로 호출되지 않는 한 실행되지 않음.(오래걸리는 거에 쓰임)
* 직접 메서드 클릭해서 Run Test하거나 명시실행 명령어 추가 해야함.

[Repeat] : 반복 실행

[Test, Repeat(5)]



[MaxTime] : 허용 시간 내 완료했는지 검사

 

번외로, MSTEST 속성은 다음과 같다.(출처는 GPT,,,)