Sdílet prostřednictvím


MSTEST0037: Použijte správné metody Assert.

Vlastnost Hodnota
Pravidlo ID MSTEST0037
název Použití správných metod Assert
Kategorie Použití
Oprava je destruktivní nebo nedestruktivní Nepřerušované
Povoleno ve výchozím nastavení Ano
výchozí úroveň závažnosti Informace
Představeno ve verzi 3.7.0
Existuje oprava kódu Ano

Příčina

Použití Assert metod určitým způsobem, pokud existuje lepší alternativa.

Popis pravidla

Existuje několik případů, kdy se zobrazí toto upozornění:

  • Použití Assert.IsTrue(<expression> == null) (se všemi kombinacemi, jako jsou IsFalse, != null, is nullnebo is not null).

    Lepší alternativou je použití Assert.IsNull(<expression>) nebo Assert.IsNotNull(<expression>).

  • Použití Assert.IsTrue(<expression1> == <expression2>) (se všemi kombinacemi, jako jsou IsFalse nebo !=).

    Lepší alternativou je použití Assert.AreEqual(<expression1>, <expression2>) nebo Assert.AreNotEqual(<expression1>, <expression2>).

  • Použití Assert.AreEqual(true, <expression>) nebo Assert.AreEqual(false, <expression>).

    Lepší alternativou je použití Assert.IsTrue(<expression>) nebo Assert.IsFalse(<expression>).

  • Použití Assert.AreEqual(null, <expression>) nebo Assert.AreNotEqual(null, <expression>).

    Lepší alternativou je použití Assert.IsNull(<expression>) nebo Assert.IsNotNull<expression>.

V mnoha případech lepší alternativy poskytují lepší zprávy, když selžou a jsou také snadněji čitelné.

Jak opravit porušení

Použijte lepší alternativní metodu.

Kdy potlačit upozornění

Pokud je asercion určen k ověření chování uživatelsky definovaného operátoru, můžete a měli byste potlačit upozornění.

Potlačení upozornění

Pokud chcete pouze potlačit jedno porušení, přidejte do zdrojového souboru direktivy preprocesoru, abyste pravidlo zakázali a znovu povolili.

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

Chcete-li pravidlo pro soubor, složku nebo projekt zakázat, nastavte jeho závažnost na none v konfiguračním souboru .

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

Další informace naleznete v tématu Jak potlačit upozornění analýzy kódu.