Condividi tramite


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

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.