MSTEST0017: gli argomenti di asserzione devono essere passati nell'ordine corretto
Proprietà | valore |
---|---|
ID regola | MSTEST0017 |
Title | Gli argomenti di asserzione devono essere passati nell'ordine corretto |
Categoria | Utilizzo |
La correzione causa un'interruzione o meno | Non causa un'interruzione |
Abilitata per impostazione predefinita | Sì |
Gravità predefinita | Info |
Introdotto nella versione | 3.4.0 |
Esiste una correzione del codice | Sì |
Causa
Questa regola genera un problema quando le chiamate a Assert.AreEqual
, Assert.AreNotEqual
, Assert.AreSame
o Assert.AreNotSame
seguono uno o più dei modelli seguenti:
actual
argument è un valore costante o letteraleactual
la variabile argument inizia conexpected
,_expected
oExpected
expected
onotExpected
la variabile argument inizia conactual
actual
non è una variabile locale
Descrizione regola
MSTest Assert.AreEqual
, Assert.AreNotEqual
Assert.AreSame
e Assert.AreNotSame
si prevede che il primo argomento sia il valore previsto/imprevisto e il secondo argomento sia il valore effettivo.
La presenza del valore previsto e del valore effettivo nell'ordine errato non altererà il risultato del test (ha esito positivo/negativo quando dovrebbe), ma l'errore di asserzione conterrà informazioni fuorvianti.
Come correggere le violazioni
Assicurarsi che gli argument actual
e expected
/notExpected
vengano passati nell'ordine corretto.
Quando eliminare gli avvisi
Non eliminare un avviso da questa regola perché questo comporterebbe l'output fuorviante.