Teilen über


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 Allgesetzt 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 auf internal, 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 oder Task 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.