[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,,,)