Freigeben ü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.

Unterdrücken einer Warnung

Wenn Sie nur eine einzelne Verletzung unterdrücken möchten, fügen Sie Ihrer Quelldatei Präprozessordirektiven hinzu, um die Regel zu deaktivieren und dann erneut 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 Konfigurationsdateiauf none fest.

[*.{cs,vb}]
dotnet_diagnostic.MSTEST0019.severity = none

Weitere Informationen finden Sie unter So unterdrücken Sie Codeanalysewarnungen.