Delen via


MSTEST0009: De testcleanup-methode moet een geldige indeling hebben

Eigenschappen Weergegeven als
Regel-id MSTEST0009
Titel De testCleanup-methode moet een geldige indeling hebben
Categorie Gebruik
Oplossing is brekend of niet-brekend Niet-brekend
Standaard ingeschakeld Ja
Standaard ernst Waarschuwing
Geïntroduceerd in versie 3.3.0
Is er een codeoplossing Ja

Oorzaak

Een methode die is gemarkeerd met [TestCleanup] moet een geldige indeling hebben.

Beschrijving van regel

Methoden die zijn gemarkeerd met [TestCleanup] , moeten de volgende indeling hebben om geldig te zijn:

  • het moet zijn public
  • het mag niet zijn abstract
  • het mag niet zijn async void
  • het mag niet zijn static
  • het mag geen speciale methode zijn (finalizer, operator...).
  • het mag niet algemeen zijn
  • er mag geen parameter worden gebruikt
  • retourtype moet zijn void, Task of ValueTask

Het type dat deze methoden declareren, moet ook de volgende regels respecteren:

  • Het type moet een class.
  • Dit class moet zijn public of internal (als het testproject het [DiscoverInternals] kenmerk gebruikt).
  • Het class zou niet moeten zijn static.
  • Als dit het class geval is sealed, moet deze worden gemarkeerd met [TestClass] (of een afgeleid kenmerk).

Schendingen oplossen

Zorg ervoor dat de methode overeenkomt met de hierboven beschreven indeling.

Wanneer waarschuwingen onderdrukken

Een waarschuwing van deze regel niet onderdrukken. Als u deze regel negeert, worden gemarkeerde exemplaren overgeslagen of leiden ze tot runtimefouten.

Een waarschuwing onderdrukken

Als u slechts één schending wilt onderdrukken, voegt u preprocessorrichtlijnen toe aan uw bronbestand om de regel uit te schakelen en vervolgens opnieuw in te schakelen.

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

Als u de regel voor een bestand, map of project wilt uitschakelen, stelt u de ernst ervan in op none in het configuratiebestand.

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

Voor meer informatie, zie Hoe u codeanalysewaarschuwingen kunt onderdrukken.