MSTEST0021: preferire i metodi Dispose rispetto ai metodi TestCleanup
Proprietà | valore |
---|---|
ID regola | MSTEST0021 |
Title | Preferire i metodi Dispose rispetto ai metodi TestCleanup |
Categoria | Progettazione |
La correzione causa un'interruzione o meno | Non causa un'interruzione |
Abilitata per impostazione predefinita | No |
Gravità predefinita | Info |
Introdotto nella versione | 3.4.0 |
È presente una correzione del codice | Sì, a partire dalla versione 3.7.0 |
Causa
Questa regola genera una diagnostica quando è presente un metodo void [TestCleanup]
o su uno qualsiasi [TestCleanup]
se il framework di destinazione supporta IAsyncDisposable
l'interfaccia.
Descrizione regola
L'uso di Dispose
o di DisposeAsync
è un modello più comune e alcuni sviluppatori preferiscono usare sempre questo modello anche per i test.
Come correggere le violazioni
Sostituire [TestCleanup]
il metodo in base a Dispose
o al DisposeAsync
criterio.
Quando eliminare gli avvisi
In genere, non si vogliono eliminare gli avvisi da questa regola se si è deciso di acconsentire esplicitamente.
Nota
Questa regola è su base volontaria. Non è abilitata anche quando si usa <MSTestAnalysisMode>All</MSTestAnalysisMode>
. Per altre informazioni su MSTestAnalysisMode
, vedere 'analisi del codice MSTest.
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 MSTEST0021
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0021
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.MSTEST0021.severity = none
Per altre informazioni, vedere Come eliminare gli avvisi di analisi del codice.