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.