다음을 통해 공유


MSTEST0037: 적절한 'Assert' 메서드 사용

재산 가치
규칙 ID MSTEST0037
타이틀 적절한 'Assert' 메서드 사용
범주 사용법
수정이 중단되거나 호환되지 않는 비중단
기본적으로 사용하도록 설정
기본 심각도 정보
은(는) 버전에 도입되었습니다. 3.7.0
코드 수정이 있나요?

원인

더 나은 대안이 있는 경우 특정 방식으로 Assert 메서드를 사용합니다.

규칙 설명

이 경고가 표시되는 경우는 여러 가지가 있습니다.

  • Assert.IsTrue(<expression> == null) 사용(IsFalse, != null, is null또는 is not null같은 모든 조합 포함).

    Assert.IsNull(<expression>) 또는 Assert.IsNotNull(<expression>) 사용하는 것이 더 나은 대안입니다.

  • Assert.IsTrue(<expression1> == <expression2>) 사용(IsFalse 또는 !=같은 모든 조합 포함).

    Assert.AreEqual(<expression1>, <expression2>) 또는 Assert.AreNotEqual(<expression1>, <expression2>) 사용하는 것이 더 나은 대안입니다.

  • Assert.AreEqual(true, <expression>) 또는 Assert.AreEqual(false, <expression>).

    Assert.IsTrue(<expression>) 또는 Assert.IsFalse(<expression>) 사용하는 것이 더 나은 대안입니다.

  • Assert.AreEqual(null, <expression>) 또는 Assert.AreNotEqual(null, <expression>).

    Assert.IsNull(<expression>) 또는 Assert.IsNotNull<expression> 사용하는 것이 더 나은 대안입니다.

대부분의 경우 더 나은 대안은 실패할 때 더 나은 메시지를 제공하고 읽기가 더 쉽습니다.

위반을 해결하는 방법

더 나은 대체 방법을 사용합니다.

경고를 표시하지 않는 경우

어설션이 사용자 정의 연산자의 동작을 확인하려는 경우, 경고를 억제할 수 있으며 그렇게 하는 것이 좋습니다.

경고 표시 안 함

단일 위반을 보류하려면, 전처리기 지시문을 소스 파일에 추가하여 규칙을 일시적으로 비활성화한 후 다시 활성화합니다.

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

파일, 폴더 또는 프로젝트에 대한 규칙을 사용하지 않으려면 none에서 심각도를 으로 설정하십시오.

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

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