MSTEST0032: Esaminare o rimuovere l'asserzione poiché la sua condizione è nota per essere sempre vera.
Proprietà | valore |
---|---|
ID regola | MSTEST0032 |
Title | Esaminare o rimuovere l’asserzione perché la condizione è sempre true. |
Categoria | Utilizzo |
La correzione causa un'interruzione o meno | Non causa un'interruzione |
Abilitata per impostazione predefinita | Sì |
Gravità predefinita | Info |
Introdotto nella versione | 3.5.0 |
È presente una correzione del codice | No |
Causa
Questa regola genera una diagnostica quando una chiamata a un’asserzione produce una condizione sempre vera.
Descrizione regola
Quando si verifica un’asserzione che passa sempre (ad esempio, Assert.IsTrue(true)
), non è sempre ovvio a chi legge il codice perché l’asserzione è presente o quale condizione sta tentando di controllare. Questo può portare a confusione e tempo perso per gli sviluppatori che si imbattono nel codice successivamente.
Come correggere le violazioni
Assicurarsi che le chiamate a Assert.IsTrue
, Assert.IsFalse
, Assert.AreEqual
, Assert.AreNotEqual
, Assert.IsNull
o Assert.IsNotNull
non producano condizioni sempre true.
Quando eliminare gli avvisi
Non è consigliabile eliminare gli avvisi da questa regola.
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 MSTEST0032
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0032
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.MSTEST0032.severity = none
Per altre informazioni, vedere Come eliminare gli avvisi di analisi del codice.