Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
| 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.