다음을 통해 공유


MSTEST0021: TestCleanup 메서드보다 Dispose 선호

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

원인

이 규칙은 void [TestCleanup] 메서드가 있거나, 대상 프레임워크가 [TestCleanup] 인터페이스를 지원하는 경우 모든 IAsyncDisposable에서 진단을 발생시킵니다.

규칙 설명

Dispose 또는 DisposeAsync을(를) 사용하는 것은 더 일반적인 패턴이며 일부 개발자는 테스트에도 이 패턴을 항상 사용하는 것을 선호합니다.

위반 문제를 해결하는 방법

[TestCleanup] 또는 Dispose 패턴으로 DisposeAsync 메서드를 대체합니다.

경고를 표시하지 않는 경우

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

메모

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

경고 표시 안 함

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

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

파일, 폴더 또는 프로젝트의 규칙을 비활성화하려면, 그 심각도를 none으로 설정하여 구성 파일에 저장합니다.

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

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