MSTEST0025: Gebruik 'Assert.Fail' in plaats van een altijd mislukte assert
Eigenschappen | Weergegeven als |
---|---|
Regel-id | MSTEST0025 |
Titel | Gebruik Assert.Fail in plaats van een altijd mislukte assert |
Categorie | Ontwerpen |
Oplossing is brekend of niet-brekend | Niet-brekend |
Standaard ingeschakeld | Ja |
Standaard ernst | Info |
Geïntroduceerd in versie | 3.4.0 |
Is er een codeoplossing | Ja |
Oorzaak
Met deze regel wordt een diagnose gegenereerd wanneer een aanroep naar een assertie een altijd onwaar-voorwaarde produceert.
Beschrijving van regel
Het gebruik van Assert.Fail
een altijd mislukte assertieaanroep biedt een duidelijkere intentie en betere documentatie voor de code.
Wanneer u een bewering tegenkomt die altijd mislukt (bijvoorbeeld Assert.IsTrue(false)
), is het misschien niet direct duidelijk voor iemand die 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.
Met behulp van Assert.Fail
kunt u daarentegen een aangepast foutbericht opgeven, waardoor duidelijk wordt waarom de assertie mislukt en welke specifieke voorwaarde of welk scenario het adresseert. Dit bericht fungeert als documentatie voor de intentie achter de assertie, zodat andere ontwikkelaars het doel van de assertie begrijpen zonder dat ze diep in de code hoeven te duiken.
Over het algemeen bevordert het gebruik Assert.Fail
van duidelijkheid, documentatie en onderhoudbaarheid in uw codebasis, waardoor het een betere keuze is voor een altijd mislukte assertieaanroep.
Schendingen oplossen
Zorg ervoor dat aanroepen naar Assert.IsTrue
, Assert.IsFalse
of Assert.AreEqual
niet Assert.AreNotEqual
Assert.IsNull
Assert.IsNotNull
altijd mislukkende voorwaarden produceren.
Wanneer waarschuwingen onderdrukken
Het wordt afgeraden 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 MSTEST0025
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0025
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.MSTEST0025.severity = none
Voor meer informatie, zie voor instructies over het onderdrukken van codeanalysewaarschuwingen.