Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
| 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.