Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
| 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 | Avviso a partire dalla versione 4.0.0, Informazioni prima |
| 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:
-
actualargument è un valore costante o letterale -
actualla variabile argument inizia conexpected,_expectedoExpected -
expectedonotExpectedla variabile argument inizia conactual -
actualnon è 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.
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.