Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
| 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.