다음을 통해 공유


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

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

원인

테스트 클래스([TestClass](으)로 표시된 클래스)에 선언된 매개 변수가 없는 명시적 생성자가 있는 경우, 이 규칙은 진단을 발생시킵니다.

규칙 설명

이 규칙을 사용하여 동기 및 비동기 테스트 초기화 모두에 [TestInitialize] 사용을 적용합니다. 비동기(async/await) 테스트 초기화를 수행하려면 메서드를 [TestInitialize] 사용해야 합니다. 결과를 Task 기다려야 하기 때문입니다.

위반 문제를 해결하는 방법

생성자 호출을 [TestInitialize] 메서드로 교체합니다.

경고를 표시하지 않는 경우

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

메모

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

경고 표시 안 함

단일 위반을 억제하려면, 소스 파일에 전처리기 지시문을 추가하여 규칙을 비활성화한 다음 다시 활성화하세요.

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

파일, 폴더 또는 프로젝트에 대한 규칙을 사용 중지하려면 none에서 해당 심각도를 으로 설정합니다.

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

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