Teilen über


MSTEST0019: TestInitialize-Methoden anstelle von Konstruktoren verwenden

Eigenschaft Wert
Regel-ID MSTEST0019
Titel TestInitialize-Methoden anstelle von Konstruktoren 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 ein parameterloser expliziter Konstruktor in einer Testklasse (mit [TestClass] gekennzeichnete Klasse) deklariert wird.

Regelbeschreibung

Verwenden Sie diese Regel, um die Verwendung von [TestInitialize] sowohl für synchrone als auch für asynchrone Testinitialisierungen zu erzwingen. Für die asynchrone (asynchrone/await)-Testinitialisierung ist die Verwendung von [TestInitialize] Methoden erforderlich, da die resultierenden Task Anforderungen abgewartet werden müssen.

Behandeln von Verstößen

Ersetzen Sie den Konstruktoraufruf durch eine [TestInitialize]-Methode.

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 bei Verwendung von <MSTestAnalysisMode>All</MSTestAnalysisMode> nicht aktiviert. Weitere Informationen über MSTestAnalysisMode finden Sie unter MSTest Code-Analyse.

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 MSTEST0019
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0019

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.MSTEST0019.severity = none

Weitere Informationen finden Sie unter Vorgehensweise: Unterdrücken von Codeanalyse-Warnungen.