Udostępnij za pośrednictwem


MSTEST0017: Argumenty asercji powinny być przekazywane w prawidłowej kolejności

Właściwości Wartość
Identyfikator reguły MSTEST0017
Tytuł Argumenty asercji powinny być przekazywane w prawidłowej kolejności
Kategoria Użycie
Poprawka powodująca niezgodność lub niezgodność Niezgodność
Domyślnie włączone Tak
Ważność domyślna Informacje
Wprowadzone w wersji 3.4.0
Istnieje poprawka kodu Tak

Przyczyna

Ta reguła zgłasza problem, gdy wywołania metody Assert.AreEqual, Assert.AreSame Assert.AreNotEquallub Assert.AreNotSame są następujące co najmniej jeden z poniższych wzorców:

  • actual argument jest stałą lub wartością literału
  • actual zmienna argumentu rozpoczyna się od expected, _expected lub Expected
  • expected lub notExpected zmienna argumentu zaczyna się od actual
  • actual nie jest zmienną lokalną

Opis reguły

MSTest Assert.AreEqual, Assert.AreNotEqualAssert.AreSame i Assert.AreNotSame oczekuje, że pierwszy argument będzie oczekiwaną/nieoczekiwaną wartością, a drugi argument będzie rzeczywistą wartością.

Posiadanie oczekiwanej wartości i rzeczywistej wartości w niewłaściwej kolejności nie spowoduje zmiany wyniku testu (powodzenie/niepowodzenie, gdy powinno), ale niepowodzenie potwierdzenia będzie zawierać mylące informacje.

Jak naprawić naruszenia

Upewnij się, że actual argumenty i są expected/notExpected przekazywane w odpowiedniej kolejności.

Kiedy pomijać ostrzeżenia

Nie pomijaj ostrzeżenia z tej reguły, ponieważ spowodowałoby to wprowadzenie w błąd danych wyjściowych.