다음을 통해 공유


MSTEST0020: TestInitialize 메서드보다 생성자 선호

속성
규칙 ID MSTEST0020
제목 TestInitialize 메서드보다 생성자 선호
범주 디자인
수정 사항이 주요 변경인지 여부 주요 변경 아님
기본적으로 사용하도록 설정됨 아니요
기본 심각도 정보
버전에서 도입됨 3.4.0
코드 수정이 있나요

원인

void [TestInitialize] 메서드가 있을 경우, 이 규칙은 진단을 발생시킵니다.

규칙 설명

비동기 초기화가 아닌 경우에는 생성자에 의존하는 것이 더 좋습니다. 이렇게 하면 readonly을(를) 활용할 수 있고 테스트를 개발할 때 더 나은 컴파일러 피드백을 받을 수 있습니다. 이는 특히 nullable 사용 컨텍스트를 처리하는 경우에 그렇습니다.

위반 문제를 해결하는 방법

[TestInitialize]반환void을 생성자로 대체합니다.

경고를 표시하지 않는 경우

이 규칙의 경고는 일반적으로 옵트인하기로 결정한 경우에는 표시되지 않습니다.

메모

이 규칙은 옵트인입니다. <MSTestAnalysisMode>All</MSTestAnalysisMode>사용하는 경우에도 사용하도록 설정되지 않습니다. MSTestAnalysisMode대한 자세한 내용은 MSTest 코드 분석 참조하세요.

경고 표시 안 함

단일 위반을 무시하려면 소스 파일에 전처리기 지시문을 추가하여 규칙을 일시적으로 비활성화한 후 활성화하십시오.

#pragma warning disable MSTEST0020
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0020

파일, 폴더 또는 프로젝트에 대한 규칙을 사용하지 않도록 설정하려면구성 파일 에서 심각도를 으로 설정하십시오.

[*.{cs,vb}]
dotnet_diagnostic.MSTEST0020.severity = none

자세한 내용은 코드 분석 경고표시하지 않는 방법을 참조하세요.