다음을 통해 공유


MSTEST0025: 항상 실패하는 어설션 대신 'Assert.Fail' 사용

속성
규칙 ID MSTEST0025
제목 항상 실패하는 어설션 대신 'Assert.Fail' 사용
범주 디자인
수정 사항이 주요 변경인지 여부 주요 변경 아님
기본적으로 사용하도록 설정됨
기본 심각도 정보
버전에서 도입됨 3.4.0
코드 수정을 찾을 수 있나요?

원인

이 규칙은 어설션 호출이 항상 false 조건을 생성할 때 진단을 발생시킵니다.

규칙 설명

항상 실패하는 어설션 호출에 대해 Assert.Fail을 사용하면 코드에 대한 더 명확한 의도와 더 나은 설명서가 제공됩니다.

항상 실패하는 어설션(예: Assert.IsTrue(false))이 발생하자마자 코드를 읽는 사람이 어설션의 존재 이유 또는 확인하려는 조건을 명확하게 확인하지 못할 수 있습니다. 이는 나중에 코드를 보게 되는 개발자에게 혼동과 시간 낭비를 초래할 수 있습니다.

대조적으로, Assert.Fail을 사용하면 사용자 지정 실패 메시지를 제공하여 어설션의 실패 이유와 이를 해결하는 특정 조건 또는 시나리오를 명확히 할 수 있습니다. 이 메시지는 어설션 이면의 의도에 대한 설명서 역할을 하여 다른 개발자가 코드를 자세히 살펴볼 필요 없이 어설션의 목적을 이해할 수 있도록 돕습니다.

전반적으로 Assert.Fail을 사용하면 코드베이스의 명확성, 문서화 및 유지 관리 용이성이 향상되므로 항상 실패하는 어설션 호출보다 더 나은 선택이 됩니다.

위반 문제를 해결하는 방법

Assert.IsTrue, Assert.IsFalse, Assert.AreEqual, Assert.AreNotEqual, Assert.IsNull 또는 Assert.IsNotNull 호출이 항상 실패하는 조건을 생성하지 않는지 확인합니다.

경고를 표시하지 않는 경우

이 규칙에서는 경고를 표시하지 않는 것이 좋습니다.

경고 표시 안 함

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

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

파일, 폴더 또는 프로젝트에 대한 규칙을 비활성화하려면 none에서 해당 심각도를 로 설정하세요.

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

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