Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
| Property | Värde |
|---|---|
| Regel-ID | MSTEST0017 |
| Title | Argument för försäkran ska skickas i rätt ordning |
| Kategori | Förbrukning |
| Korrigeringen är icke-bakåtkompatibel | Icke-icke-bryta |
| Aktiverad som standard | Ja |
| Standard allvarlighetsgrad | Varning som börjar med 4.0.0, Info före |
| Introducerad i version | 3.4.0 |
| Finns det en kodkorrigering | Ja |
Orsak
Den här regeln genererar ett problem när anrop till Assert.AreEqual, Assert.AreNotEqualAssert.AreSame eller Assert.AreNotSame följer ett eller flera av mönstren nedan:
-
actualargumentet är ett konstant eller literalt värde -
actualargumentvariabeln börjar medexpected,_expectedellerExpected -
expectedellernotExpectedargumentvariabeln börjar medactual -
actualär inte en lokal variabel
Regelbeskrivning
MSTest Assert.AreEqual, Assert.AreNotEqualoch Assert.AreSameAssert.AreNotSame förvänta dig att det första argumentet är det förväntade/oväntade värdet och det andra argumentet är det faktiska värdet.
Att ha det förväntade värdet och det faktiska värdet i fel ordning ändrar inte resultatet av testet (lyckas/misslyckas när det ska), men kontrollfelet innehåller vilseledande information.
Så här åtgärdar du överträdelser
Se till att det actual och expected/notExpected argumenten skickas i rätt ordning.
När du ska ignorera varningar
Ignorera inte en varning från den här regeln eftersom det skulle leda till vilseledande utdata.
Undertryck en varning
Om du bara vill förhindra en enda överträdelse lägger du till förprocessordirektiv i källfilen för att inaktivera och aktiverar sedan regeln igen.
#pragma warning disable MSTEST0017
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0017
Om du vill inaktivera regeln för en fil, mapp eller ett projekt anger du dess allvarlighetsgrad till none i konfigurationsfilen.
[*.{cs,vb}]
dotnet_diagnostic.MSTEST0017.severity = none
Mer information finns i Så här utelämnar du kodanalysvarningar.