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.AreNotEqual
lub Assert.AreNotSame
są następujące co najmniej jeden z poniższych wzorców:
actual
argument jest stałą lub wartością literałuactual
zmienna argumentu rozpoczyna się odexpected
,_expected
lubExpected
expected
lubnotExpected
zmienna argumentu zaczyna się odactual
actual
nie jest zmienną lokalną
Opis reguły
MSTest Assert.AreEqual
, Assert.AreNotEqual
Assert.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.