MSTEST0017: Assertionsargumente sollten in der richtigen Reihenfolge übergeben werden
Eigenschaft | Wert |
---|---|
Regel-ID | MSTEST0017 |
Titel | Assertionsargumente sollten in der richtigen Reihenfolge übergeben werden |
Kategorie | Verwendung |
Fix führt oder führt nicht zur Unterbrechung | Nicht unterbrechend |
Standardmäßig aktiviert | Ja |
Standardschweregrad | Info |
Eingeführt in Version | 3.4.0 |
Es gibt eine Codekorrektur | Ja |
Ursache
Diese Regel löst ein Issue aus, wenn Aufrufe von Assert.AreEqual
, Assert.AreNotEqual
, Assert.AreSame
oder Assert.AreNotSame
mehrere der folgenden Muster aufweisen:
- Das
actual
-Argument ist eine Konstante oder ein Literalwert. - Die Variable im
actual
-Argument beginnt mitexpected
,_expected
oderExpected
. - Die Variablen der Argumente
expected
odernotExpected
beginnen mitactual
. actual
ist keine lokale Variable.
Regelbeschreibung
MSTest Assert.AreEqual
, Assert.AreNotEqual
, Assert.AreSame
und Assert.AreNotSame
erwarten, dass das erste Argument der erwartete/nicht erwartete Wert und das zweite Argument der tatsächliche Wert ist.
Wenn der erwartete Wert und der tatsächlichen Wert in der falschen Reihenfolge angegeben werden, ändert sich das Ergebnis des Tests zwar nicht (erfolgreich/fehlerhaft), aber der Assertionsfehler enthält irreführende Informationen.
Behandeln von Verstößen
Stellen Sie sicher, dass die Argumente actual
und expected
/notExpected
in der richtigen Reihenfolge übergeben werden.
Wann sollten Warnungen unterdrückt werden?
Unterdrücken Sie keine Warnungen von dieser Regel, da dies zu irreführenden Ausgaben führen würde.