MSTEST0003: Testmethoden müssen ein gültiges Layout aufweisen.
Eigenschaft | Wert |
---|---|
Regel-ID | MSTEST0003 |
Titel | Testmethoden müssen ein gültiges Layout aufweisen. |
Kategorie | Verwendung |
Fix führt oder führt nicht zur Unterbrechung | Breaking |
Standardmäßig aktiviert | Ja |
Standardschweregrad | Warnung (eskaliert zu Fehler, wenn MSTestAnalysisMode auf Recommended oder All gesetzt wird) |
Eingeführt in Version | 3.2.0 |
Gibt es eine Codekorrektur | Ja |
Ursache
Eine Testmethode entspricht nicht einem Punkt oder mehreren Punkten des vorgeschriebenen Testmethodenlayouts.
Regelbeschreibung
Testmethoden (mit dem [TestMethod]
-Attribut gekennzeichnete Methoden) müssen dem angegebenen Layout entsprechen, um von MSTest als gültig betrachtet zu werden:
- Sie müssen auf
public
festgelegt sein (oder aufinternal
, falls das[assembly: DiscoverInternals]
-Attribut festgelegt ist). - Sie dürfen nicht auf
static
festgelegt sein. - Sie sollten nicht generisch sein, wenn Sie MSTest 3.7 oder früher verwenden.
- Sie dürfen nicht auf
abstract
festgelegt sein. - Sie müssen
void
oderTask
zurückgeben. - Sie dürfen nicht auf
async void
festgelegt sein. - Es darf sich nicht um eine spezielle Methode (Konstruktor, Finalizer, Operator...) handeln.
- der Typ, der diese Methode deklariert, sollte öffentlich sein.
Behandeln von Verstößen
Stellen Sie sicher, dass die Testmethode dem oben beschriebenen erforderlichen Layout entspricht.
Wann sollten Warnungen unterdrückt werden?
Unterdrücken Sie keine Warnung dieser Regel. Wenn Sie diese Regel ignorieren, führt das dazu, dass Tests ignoriert werden, da MSTest diese Methode nicht als Testmethode betrachtet.
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 MSTEST0003
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0003
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.MSTEST0003.severity = none
Weitere Informationen finden Sie unter Vorgehensweise: Unterdrücken von Codeanalyse-Warnungen.