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 |
È presente 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 letterale -
actual
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.
Eliminare un avviso
Se si vuole eliminare una singola violazione, aggiungere direttive del preprocessore al file di origine per disabilitare e quindi riabilitare la regola.
#pragma warning disable MSTEST0017
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0017
Per disabilitare la regola per un file, una cartella o un progetto, impostarne la gravità su none
nel file di configurazione .
[*.{cs,vb}]
dotnet_diagnostic.MSTEST0017.severity = none
Per altre informazioni, vedere Come eliminare gli avvisi di analisi del codice.