Condividi tramite


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
Gravità predefinita Info
Introdotto nella versione 3.4.0
Esiste una correzione del codice

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 con expected, _expected o Expected
  • expected o notExpected la variabile argument inizia con actual
  • actual non è una variabile locale

Descrizione regola

MSTest Assert.AreEqual, Assert.AreNotEqualAssert.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.