Auf Englisch lesen

Freigeben ü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
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 dürfen nicht generisch sein.
  • 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

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 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 Konfigurationsdateiauf none fest.

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

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