Teilen über


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.