MSTEST0025: используйте "Assert.Fail" вместо утверждения с ошибкой.
Свойство | Значение |
---|---|
Идентификатор правила | MSTEST0025 |
Заголовок | Используйте "Assert.Fail" вместо всегда неработоующего утверждения |
Категория | Проект |
Исправление является критическим или не критическим | Не критическое |
Включен по умолчанию | Да |
Серьезность по умолчанию | Сведения |
Представлено в версии | 3.4.0 |
Есть ли исправление кода? | Да |
Причина
Это правило вызывает диагностику, когда вызов утверждения создает всегда ложное условие.
Описание правила
Использование 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
Чтобы отключить правило для файла, папки или проекта, задайте его серьезность
[*.{cs,vb}]
dotnet_diagnostic.MSTEST0025.severity = none
Дополнительные сведения см. в статье Подавление предупреждений анализа кода.