MSTEST0017: Assertieargumenten moeten in de juiste volgorde worden doorgegeven
Eigenschappen | Weergegeven als |
---|---|
Regel-id | MSTEST0017 |
Titel | Assertieargumenten moeten in de juiste volgorde worden doorgegeven |
Categorie | Gebruik |
Oplossing is brekend of niet-brekend | Niet-brekend |
Standaard ingeschakeld | Ja |
Standaard ernst | Info |
Geïntroduceerd in versie | 3.4.0 |
Is er een oplossing voor de code | Ja |
Oorzaak
Deze regel veroorzaakt een probleem wanneer aanroepen naarAssert.AreEqual
, Assert.AreNotEqual
Assert.AreSame
of Assert.AreNotSame
een of meer van de onderstaande patronen volgen:
-
actual
argument is een constante of letterlijke waarde -
actual
argumentvariabele begint metexpected
,_expected
ofExpected
-
expected
ofnotExpected
argumentvariabele begint metactual
-
actual
is geen lokale variabele
Beschrijving van regel
MSTestAssert.AreEqual
, Assert.AreNotEqual
Assert.AreSame
en Assert.AreNotSame
verwacht dat het eerste argument de verwachte/onverwachte waarde is en het tweede argument de werkelijke waarde.
Als u de verwachte waarde en de werkelijke waarde in de verkeerde volgorde hebt, verandert het resultaat van de test niet (slaagt/mislukt wanneer dit het geval is), maar bevat de assertiefout misleidende informatie.
Schendingen oplossen
Zorg ervoor dat actual
en expected
/notExpected
argumenten in de juiste volgorde worden doorgegeven.
Wanneer waarschuwingen onderdrukken
Onderdrukt geen waarschuwing van deze regel omdat dit tot misleidende uitvoer zou leiden.
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 MSTEST0017
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0017
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.MSTEST0017.severity = none
Voor meer informatie, zie Hoe codeanalysewaarschuwingen te onderdrukken.