다음을 통해 공유


MSTEST0018: DynamicData가 유효해야 합니다

속성
규칙 ID MSTEST0018
제목 DynamicData가 유효해야 합니다
범주 사용
수정 사항이 주요 변경인지 여부 주요 변경 아님
기본적으로 사용하도록 설정됨
기본 심각도 Warning
버전에서 도입됨 3.6.0

원인

[DynamicData](으)로 표시된 메서드에 유효한 레이아웃이 있어야 합니다.

규칙 설명

[DynamicData](으)로 표시된 메서드 또한 [TestMethod](또는 파생된 특성)(으)로 표시되어야 합니다.

참조된 "데이터 원본" 멤버:

  • 지정된 형식(형식이 지정되지 않은 경우 현재 클래스)에 있어야 합니다
  • 오버로드가 없어야 합니다
  • DataSourceType 속성과 동일한 종류(메서드 또는 속성)여야 합니다
  • public에 해당해야 합니다
  • static에 해당해야 합니다
  • 제네릭이 아니어야 합니다
  • 매개 변수가 없어야 합니다
  • IEnumerable<object[]>, IEnumerable<Tuple<T,...>> 또는 IEnumerable<ValueTuple<,...>>을(를) 반환해야 합니다

참조된 "표시 이름" 멤버:

  • 지정된 형식(형식이 지정되지 않은 경우 현재 클래스)에 있어야 합니다
  • 오버로드가 없어야 합니다
  • 메서드여야 합니다
  • public에 해당해야 합니다
  • static에 해당해야 합니다
  • 제네릭이 아니어야 합니다
  • string을(를) 반환해야 합니다
  • 정확히 2개의 매개 변수를 사용해야 하며, 첫 번째는 MethodInfo, 두 번째는 object[]에 해당해야 합니다

예시:

public static string GetDisplayName(MethodInfo methodInfo, object[] data)
{
    return string.Format("{0} ({1})", methodInfo.Name, string.Join(",", data));
}

위반 문제를 해결하는 방법

위에서 설명한 조건과 일치하는 특성인지를 확인합니다.

경고를 표시하지 않는 경우

이 규칙에서는 경고를 표시해야 합니다. 이 규칙을 무시하면 플래그가 지정된 인스턴스가 건너뛰거나 런타임 오류가 발생합니다.

경고 표시 안 함

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

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

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

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

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