Dela via


MSTEST0053: Undvik att använda Assert-metoder med formatparametrar

Fastighet Värde
Regel-ID MSTEST0053
Titel Undvik att använda Assert-metoder med formatparametrar
Kategori Usage
Korrigeringen är icke-bakåtkompatibel Icke-icke-bryta
Aktiverad som standard Yes
Standard allvarlighetsgrad Varning
Introducerad i version 3.11.0
Finns det en kodkorrigering Yes

[OBS] Den här analysatorn är inte längre relevant för MSTest 4 eftersom api:erna för försäkran med formatparametrar har tagits bort.

Orsak

Ett kontrollmetodanrop använder argumenten message och parameters för strängformatering i stället för att använda stränginterpolation.

Regelbeskrivning

Att använda överladdningar av assertion som accepterar message och parameters rekommenderas inte längre. Dessa överbelastningar tas bort i MSTest v4. Vi rekommenderar att du använder stränginterpolation i stället.

Så här åtgärdar du överträdelser

Ersätt anrop som använder meddelandeformatparametrar med stränginterpolation.

Ändra till exempel följande:

[TestMethod]
public void TestMethod()
{
    int expected = 5;
    int actual = GetValue();
    Assert.AreEqual(expected, actual, "Expected {0} but got {1}", expected, actual);
}

Så här gör du:

[TestMethod]
public void TestMethod()
{
    int expected = 5;
    int actual = GetValue();
    Assert.AreEqual(expected, actual, $"Expected {expected} but got {actual}");
}

När du ska ignorera varningar

Ignorera inte varningar från den här regeln. Dessa överlagringar tas bort i MSTest v4 och rekommenderas inte.