MSTEST0003: 테스트 메서드에 올바른 레이아웃이 있어야 합니다.
속성 | 값 |
---|---|
규칙 ID | MSTEST0003 |
타이틀 | 테스트 메서드에 올바른 레이아웃이 있어야 합니다. |
범주 | 사용 |
수정 사항이 주요 변경인지 여부 | 주요 변경 |
기본적으로 사용하도록 설정됨 | 예 |
기본 심각도 | 경고(MSTestAnalysisMode 을 Recommended 또는 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
자세한 내용은 코드 분석 경고표시하지 않는 방법을 참조하세요.
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET