MSTEST0030: Type met moet [TestMethod]
worden gemarkeerd met [TestClass]
Eigenschappen | Weergegeven als |
---|---|
Regel-id | MSTEST0030 |
Titel | Het type dat [TestMethod] moet worden gemarkeerd met [TestClass] |
Categorie | Gebruik |
Oplossing is brekend of niet-brekend | Niet-brekend |
Standaard ingeschakeld | Ja |
Standaard ernst | Info |
Geïntroduceerd in versie | 3.5.0 |
Is er een codeoplossing | Nee |
Oorzaak
Het type dat moet [TestMethod]
worden gemarkeerd met [TestClass]
, anders wordt de testmethode op de achtergrond genegeerd.
Beschrijving van regel
MSTest beschouwt testmethoden alleen in de context van een testklassecontainer (een klasse die is gemarkeerd met [TestClass] of afgeleid kenmerk), wat ertoe kan leiden dat sommige tests op de achtergrond worden genegeerd. Als uw klasse het algemene testgedrag moet vertegenwoordigen dat moet worden uitgevoerd door onderliggende klassen, is het raadzaam om het type als abstract te markeren om de intentie voor andere ontwikkelaars die de code lezen te verduidelijken.
Schendingen oplossen
Een niet-abstracte klasse bevat testmethoden die moeten worden gemarkeerd met [TestClass].
Wanneer waarschuwingen onderdrukken
Het is veilig om de diagnose te onderdrukken als u zeker weet dat uw klasse wordt overgenomen en dat de tests die voor deze klasse zijn gedeclareerd, alleen moeten worden uitgevoerd in de context van subklassen. We raden u echter aan om de klasse als abstract te markeren.
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 MSTEST0030
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0030
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.MSTEST0030.severity = none
Voor meer informatie, zie Hoe codeanalysewaarschuwingen te onderdrukken.