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


MSTEST0037. Используйте надлежащие методы Assert

Свойство Ценность
идентификатор правила 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

Чтобы отключить правило для файла, папки или проекта, задайте его серьезность в файле конфигурации.

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

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