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à | Value |
|---|---|
| ID Regola | MSTEST0053 |
| Titolo | Evitare di usare i metodi Assert con parametri di formato |
| Categoria | Usage |
| La correzione causa un'interruzione o meno | Non causa un'interruzione |
| Abilitato per impostazione predefinita | Yes |
| Gravità predefinita | Avvertimento |
| Introdotto nella versione | 3.11.0 |
| È presente una correzione del codice | Yes |
Annotazioni
Questo analizzatore non è più rilevante per MSTest 4 perché le API di asserzione con parametri di formato sono state rimosse.
Motivo
Una chiamata al metodo di asserzione usa gli message argomenti e parameters per la formattazione delle stringhe anziché l'interpolazione di stringhe.
Descrizione regola
L'uso degli overload di asserzione che accettano message e parameters non è più consigliato. Questi overload vengono rimossi in MSTest v4. È consigliabile usare invece l'interpolazione di stringhe.
Come correggere le violazioni
Sostituire le chiamate che usano parametri di formato messaggio con interpolazione di stringhe.
Ad esempio, modificare il codice seguente:
[TestMethod]
public void TestMethod()
{
int expected = 5;
int actual = GetValue();
Assert.AreEqual(expected, actual, "Expected {0} but got {1}", expected, actual);
}
In questa:
[TestMethod]
public void TestMethod()
{
int expected = 5;
int actual = GetValue();
Assert.AreEqual(expected, actual, $"Expected {expected} but got {actual}");
}
Quando eliminare gli avvisi
Non eliminare gli avvisi da questa regola. Questi sovraccarichi vengono rimossi in MSTest v4 e non sono consigliati.