Dela via


MSTEST0003: Testmetoder bör ha en giltig layout

Property Värde
Regel-ID MSTEST0003
Title Testmetoderna bör ha en giltig layout
Kategori Förbrukning
Korrigeringen är icke-bakåtkompatibel Brott
Aktiverad som standard Ja
Standard allvarlighetsgrad Varning (eskalerades till Fel vid inställning MSTestAnalysisMode till Recommended eller All)
Introducerad i version 3.2.0
Finns det en kodkorrigering Ja

Orsak

En testmetod följer inte enstaka eller flera punkter i den obligatoriska testmetodlayouten.

Regelbeskrivning

Testmetoder (metoder som har markerats med [TestMethod] attributet) bör följa den angivna layouten för att anses vara giltiga av MSTest:

  • de ska vara public (eller internal om [assembly: DiscoverInternals] attributet har angetts)
  • de bör inte vara static
  • de bör inte vara generiska om de använder MSTest 3.7 eller tidigare
  • de bör inte vara abstract
  • de ska returnera void eller Task
  • de bör inte vara async void
  • de bör inte vara en särskild metod (konstruktor, finalizer, operator...)
  • den typ som deklarerar den här metoden ska vara offentlig

Så här åtgärdar du överträdelser

Kontrollera att testmetoden matchar den layout som beskrivs ovan.

När du ska ignorera varningar

Ignorera inte en varning från den här regeln. Om du ignorerar den här regeln ignoreras tester eftersom MSTest inte anser att den här metoden är en testmetod.

Ignorera en varning

Om du bara vill förhindra en enda överträdelse lägger du till förprocessordirektiv i källfilen för att inaktivera och aktiverar sedan regeln igen.

#pragma warning disable MSTEST0003
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0003

Om du vill inaktivera regeln för en fil, mapp eller ett projekt anger du dess allvarlighetsgrad till none i konfigurationsfilen.

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

Mer information finns i Så här utelämnar du kodanalysvarningar.