MSTEST0037: gebruik de juiste 'Assert'-methoden
Eigendom | Waarde |
---|---|
Regel ID | MSTEST0037 |
titel | De juiste 'Assert'-methoden gebruiken |
categorie | Gebruik |
Fix veroorzaakt brekende of niet-brekende | Niet-brekend |
standaard ingeschakeld | Ja |
standaard ernst | Informatie |
geïntroduceerd in versie | 3.7.0 |
Is er een codeoplossing | Ja |
Oorzaak
Het gebruik van Assert methoden op een specifieke manier wanneer er een beter alternatief is.
Beschrijving van regel
Er zijn meerdere gevallen waarin u deze waarschuwing krijgt:
Het gebruik van
Assert.IsTrue(<expression> == null)
(met alle combinaties, zoalsIsFalse
,!= null
,is null
ofis not null
).Het gebruik van
Assert.IsNull(<expression>)
ofAssert.IsNotNull(<expression>)
is een beter alternatief.Het gebruik van
Assert.IsTrue(<expression1> == <expression2>)
(met alle combinaties, zoalsIsFalse
of!=
).Het gebruik van
Assert.AreEqual(<expression1>, <expression2>)
ofAssert.AreNotEqual(<expression1>, <expression2>)
is een beter alternatief.Het gebruik van
Assert.AreEqual(true, <expression>)
ofAssert.AreEqual(false, <expression>)
.Het gebruik van
Assert.IsTrue(<expression>)
ofAssert.IsFalse(<expression>)
is een beter alternatief.Het gebruik van
Assert.AreEqual(null, <expression>)
ofAssert.AreNotEqual(null, <expression>)
.Het gebruik van
Assert.IsNull(<expression>)
ofAssert.IsNotNull<expression>
is een beter alternatief.
In veel gevallen bieden de betere alternatieven betere berichten wanneer ze mislukken en zijn ze ook gemakkelijker te lezen.
Hoe u schendingen kunt verhelpen
Gebruik de betere alternatieve methode.
Wanneer waarschuwingen onderdrukken
Als de assert is bedoeld om het gedrag van een door de gebruiker gedefinieerde operator te controleren, kunt en moet u de waarschuwing 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 MSTEST0037
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0037
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.MSTEST0037.severity = none
Zie Hoe codeanalysewaarschuwingen te onderdrukkenvoor meer informatie.