Condividi tramite


MSTEST0037: usare metodi 'Assert' appropriati

Proprietà Valore
ID regola MSTEST0037
Titolo Usare i metodi 'Assert' appropriati
categoria Uso
Correzione causa interruzioni o continuità Nessuna interruzione
Abilitato per impostazione predefinita
gravità predefinita Informazioni
introdotta nella versione 3.7.0
È presente una correzione del codice

Causa

L'uso di metodi Assert in modo specifico quando esiste un'alternativa migliore.

Descrizione regola

Esistono più casi in cui viene visualizzato questo avviso:

  • Uso di Assert.IsTrue(<expression> == null) (con tutte le combinazioni, ad esempio IsFalse, != null, is nullo is not null).

    L'uso di Assert.IsNull(<expression>) o Assert.IsNotNull(<expression>) è un'alternativa migliore.

  • Uso di Assert.IsTrue(<expression1> == <expression2>) (con tutte le combinazioni, ad esempio IsFalse o !=).

    L'uso di Assert.AreEqual(<expression1>, <expression2>) o Assert.AreNotEqual(<expression1>, <expression2>) è un'alternativa migliore.

  • Uso di Assert.AreEqual(true, <expression>) o Assert.AreEqual(false, <expression>).

    L'uso di Assert.IsTrue(<expression>) o Assert.IsFalse(<expression>) è un'alternativa migliore.

  • Uso di Assert.AreEqual(null, <expression>) o Assert.AreNotEqual(null, <expression>).

    L'uso di Assert.IsNull(<expression>) o Assert.IsNotNull<expression> è un'alternativa migliore.

In molti casi, le alternative migliori forniscono messaggi migliori quando hanno esito negativo e sono anche più facili da leggere.

Come correggere le violazioni

Usare il metodo alternativo migliore.

Quando eliminare gli avvisi

Se l'asserzione è destinata a verificare il comportamento di un operatore definito dall'utente, è possibile e dovrebbe sopprimere l'avviso.

Eliminare un avviso

Se si vuole eliminare una singola violazione, aggiungere direttive del preprocessore al file di origine per disabilitare e quindi riabilitare la regola.

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

Per disabilitare la regola per un file, una cartella o un progetto, impostarne la gravità su none nel file di configurazione .

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

Per altre informazioni, vedere Come eliminare gli avvisi di analisi del codice.