다음을 통해 공유


MSTEST0003: 테스트 메서드에 올바른 레이아웃이 있어야 합니다.

속성
규칙 ID MSTEST0003
타이틀 테스트 메서드에 올바른 레이아웃이 있어야 합니다.
범주 사용
수정 사항이 주요 변경인지 여부 주요 변경
기본적으로 사용하도록 설정됨
기본 심각도 경고(MSTestAnalysisModeRecommended 또는 All로 설정할 때 오류로 상승됨)
버전에서 도입됨 3.2.0
코드 수정이 있나요

원인

테스트 메서드는 필수 테스트 메서드 레이아웃의 단일 또는 여러 지점을 따르지 않습니다.

규칙 설명

테스트 메서드([TestMethod] 특성으로 표시된 메서드)는 MSTest에서 유효한 것으로 간주되도록 지정된 레이아웃을 따라야 합니다.

  • public이어야 합니다(또는 internal 특성이 설정된 경우 [assembly: DiscoverInternals]).
  • static이 아니어야 합니다.
  • MSTest 3.7 이하를 사용하는 경우 제네릭이 아니어야 합니다.
  • abstract이 아니어야 합니다.
  • void 또는 Task를 반환해야 합니다.
  • async void이 아니어야 합니다.
  • 특수 메서드(생성자, 종료자, 연산자...)가 아니어야 합니다.
  • 공용 형식으로 이 메서드를 선언해야 합니다

위반 문제를 해결하는 방법

테스트 메서드가 위에서 설명한 필수 레이아웃과 일치하는지 확인합니다.

경고를 표시하지 않는 경우

이 규칙에서는 경고를 표시해야 합니다. MSTest는 이 메서드를 테스트 메서드로 간주하지 않으므로 이 규칙을 무시하면 테스트가 무시됩니다.

경고 표시 안 함

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

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

파일, 폴더 또는 프로젝트에 대한 규칙을 비활성화하려면, none에서 해당 항목의 심각도를 으로 설정합니다.

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

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