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
자세한 내용은 코드 분석 경고표시하지 않는 방법을 참조하세요.
.NET