MSTEST0020: preferire i costruttori rispetto ai metodi TestInitialize
Proprietà | valore |
---|---|
ID regola | MSTEST0020 |
Title | Preferire i costruttori rispetto ai metodi TestInitialize |
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ì |
Causa
Questa regola genera una diagnostica quando è presente un metodo void [TestInitialize]
.
Descrizione regola
In genere, è preferibile basarsi sui costruttori per l'inizializzazione non asincrona, perché è possibile basarsi su readonly
e ottenere un feedback migliore del compilatore durante lo sviluppo dei test. Ciò vale soprattutto per quando si gestiscono contesti abilitati per i valori Null.
Come correggere le violazioni
Sostituire [TestInitialize]
la restituzione in base void
ai costruttori.
Quando eliminare gli avvisi
In genere, non si vogliono eliminare gli avvisi da questa regola se si è deciso di acconsentire esplicitamente.
Nota
Questa regola richiede adesione. 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 MSTEST0020
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0020
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.MSTEST0020.severity = none
Per altre informazioni, vedere Come eliminare gli avvisi di analisi del codice.