Condividi tramite


MSTEST0053: evitare di usare metodi Assert con parametri di formato

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.