Sdílet prostřednictvím


MSTEST0053: Vyhněte se použití metod Assert s parametry formátu

Vlastnictví Hodnota
Identifikátor pravidla MSTEST0053
Titul Vyhněte se používání metod Assert s parametry formátu
Kategorie Usage
Oprava je destruktivní nebo nedestruktivní Non-breaking
Povoleno ve výchozím nastavení Ano
Výchozí úroveň závažnosti Výstraha
Představeno ve verzi 3.11.0
Existuje oprava kódu. Ano

Poznámka:

Tento analyzátor už není pro MSTest 4 relevantní, protože byla odebrána rozhraní API kontrolních výrazů s parametry formátu.

Příčina

Volání metody message používá argumenty parameters k formátování řetězců, místo aby používaly interpolaci řetězců.

Popis pravidla

Použití přetížení asercí, které přijímají message a parameters, se již nedoporučuje. Tato přetížení jsou odebrána v MSTest v4. Doporučujeme místo toho použít interpolaci řetězců.

Jak opravit porušení

Nahraďte volání, která používají parametry formátu zprávy s interpolací řetězců.

Změňte například toto:

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

Na toto:

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

Kdy potlačit upozornění

Nepotlačujte upozornění z tohoto pravidla. Tato přetížení jsou odebrána v MSTest v4 a nedoporučuje se.