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.