Поделиться через


MSTEST0025: используйте "Assert.Fail" вместо утверждения с ошибкой.

Свойство Значение
Идентификатор правила MSTEST0025
Заголовок Используйте "Assert.Fail" вместо всегда неработоующего утверждения
Категория Проект
Исправление является критическим или не критическим Не критическое
Включен по умолчанию Да
Серьезность по умолчанию Сведения
Представлено в версии 3.4.0
Есть ли исправление кода? Да

Причина

Это правило вызывает диагностику, когда вызов утверждения создает всегда ложное условие.

Описание правила

Использование Assert.Fail при вызове утверждения с ошибкой всегда обеспечивает более четкое намерение и лучшую документацию по коду.

При обнаружении утверждения, которое всегда завершается сбоем (например, Assert.IsTrue(false)), может быть не сразу очевидным для кого-то, кто читает код, почему утверждение есть или какое условие он пытается проверить. Это может привести к путанице и тратить время для разработчиков, которые столкнулись с кодом позже.

В отличие от этого, использование Assert.Fail позволяет предоставить пользовательское сообщение об ошибке, что позволяет определить, почему утверждение завершается сбоем, и какой конкретный условие или сценарий он обращается. Это сообщение служит в качестве документации для намерения утверждения, помогая другим разработчикам понять цель утверждения без необходимости глубоко ознакомиться с кодом.

В целом, использование Assert.Fail способствует ясности, документации и поддержке в базе кода, что делает его лучшим выбором по поводу всегда завершающегося сбой вызова утверждения.

Устранение нарушений

Убедитесь, что вызовы Assert.IsTrue, Assert.IsFalse, Assert.AreEqualAssert.AreNotEqualAssert.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

Дополнительные сведения см. в статье Подавление предупреждений анализа кода.