MSTEST0032: Controleer of verwijder de assertie als deze voorwaarde altijd waar is
Eigenschappen | Weergegeven als |
---|---|
Regel-id | MSTEST0032 |
Titel | Controleer of verwijder de assertie als de voorwaarde ervan altijd waar is. |
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 oplossing voor de code | Nee |
Oorzaak
Met deze regel wordt een diagnose gegenereerd wanneer een aanroep naar een assertie een altijd waar-voorwaarde produceert.
Beschrijving van regel
Wanneer u een verklaring tegenkomt die altijd wordt doorgegeven (bijvoorbeeld Assert.IsTrue(true)
), is het niet duidelijk dat iemand de code leest waarom de assertie zich bevindt of welke voorwaarde deze probeert te controleren. Dit kan leiden tot verwarring en verspilde tijd voor ontwikkelaars die de code later tegenkomen.
Schendingen oplossen
Zorg ervoor dat aanroepen naar Assert.IsTrue
, Assert.IsFalse
of Assert.AreEqual
niet Assert.AreNotEqual
Assert.IsNull
Assert.IsNotNull
altijd waar-voorwaarden produceren.
Wanneer waarschuwingen onderdrukken
Het is niet raadzaam om waarschuwingen van deze regel te onderdrukken.
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 MSTEST0032
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0032
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.MSTEST0032.severity = none
Voor meer informatie, zie hoe codeanalysewaarschuwingen onderdrukken.