MSTEST0020: Konstruktoren anstelle der TestInitialize-Methode verwenden
Eigenschaft | Wert |
---|---|
Regel-ID | MSTEST0020 |
Titel | Konstruktoren anstelle der TestInitialize-Methode verwenden |
Kategorie | Design |
Fix führt oder führt nicht zur Unterbrechung | Nicht unterbrechend |
Standardmäßig aktiviert. | Nein |
Standardschweregrad | Info |
Eingeführt in Version | 3.4.0 |
Gibt es eine Codekorrektur | Ja |
Ursache
Diese Regel löst eine Diagnose aus, wenn eine ungültige [TestInitialize]
-Methode vorhanden ist.
Regelbeschreibung
Es ist in der Regel besser, bei der nicht asynchronen Initialisierung Konstruktoren zu verwenden, da Sie sich dann bei der Entwicklung Ihrer Tests auf readonly
verlassen können und besseres Compilerfeedback erhalten. Dies gilt insbesondere bei Verwendung in Nullwerte zulassenden Kontexten.
Behandeln von Verstößen
Ersetzen Sie [TestInitialize]
mit der Rückgabe von void
durch Konstruktoren.
Wann sollten Warnungen unterdrückt werden?
In der Regel möchten Sie keine Warnungen von dieser Regel unterdrücken, wenn Sie sich dafür entschieden haben.
Hinweis
Diese Regel ist freiwillig. Sie ist auch nicht aktiviert, wenn <MSTestAnalysisMode>All</MSTestAnalysisMode>
verwendet wird. Weitere Informationen zu MSTestAnalysisMode
finden Sie unter MSTest-Codeanalyse.
Unterdrücken einer Warnung
Um nur eine einzelne Verletzung zu unterdrücken, fügen Sie der Quelldatei Präprozessoranweisungen hinzu, um die Regel zu deaktivieren und dann wieder zu aktivieren.
#pragma warning disable MSTEST0020
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0020
Um die Regel für eine Datei, einen Ordner oder ein Projekt zu deaktivieren, legen Sie den Schweregrad in der Konfigurationsdatei auf none
fest.
[*.{cs,vb}]
dotnet_diagnostic.MSTEST0020.severity = none
Weitere Informationen finden Sie unter Vorgehensweise: Unterdrücken von Codeanalyse-Warnungen.