Delen via


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.IsFalseof Assert.AreEqualniet Assert.AreNotEqualAssert.IsNullAssert.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.