Udostępnij za pomocą


MSTEST0053: Unikaj używania metod asercyjnych z parametrami formatu

Majątek Wartość
Identyfikator reguły MSTEST0053
Tytuł Unikaj używania metod asercyjnych z parametrami formatu
Kategoria Usage
Poprawka jest przełomowa lub nieprzełomowa Non-breaking
Domyślnie włączone Tak
domyślna ciężkość Ostrzeżenie
wprowadzone w wersji 3.11.0
Czy istnieje poprawka kodu Tak

Uwaga / Notatka

Ten analizator nie jest już istotny w MSTest 4, ponieważ usunięto API do asercji z parametrami formatu.

Przyczyna

Wywołanie metody asercji używa argumentów message i parameters do formatowania ciągów zamiast interpolowania ciągów.

Opis reguły

Używanie przeciążeń asercji, które akceptują message i parameters, nie jest już zalecane. Te przeciążenia są usuwane w programie MSTest w wersji 4. Zaleca się użycie interpolacji ciągów.

Jak naprawić naruszenia

Zastąp wywołania używające parametrów formatu komunikatów interpolacją ciągów.

Na przykład zmień następujące elementy:

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

Do tego:

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

Kiedy pomijać ostrzeżenia

Nie pomijaj ostrzeżeń z tej reguły. Te przeciążenia są usuwane w programie MSTest w wersji 4 i nie są zalecane.