Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
| 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 | Avviso a partire dalla versione 4.0.0, Informazioni prima |
| 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.