MSTEST0025: użyj instrukcji "Assert.Fail" zamiast asercji, która kończy się niepowodzeniem
Właściwości | Wartość |
---|---|
Identyfikator reguły | MSTEST0025 |
Tytuł | Użyj instrukcji "Assert.Fail" zamiast potwierdzenia, które kończy się niepowodzeniem |
Kategoria | Projektowanie |
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 diagnostykę, gdy wywołanie asercji generuje warunek always-false.
Opis reguły
Użycie Assert.Fail
wywołania asercji, które zawsze kończy się niepowodzeniem, zapewnia jaśniejszą intencję i lepszą dokumentację kodu.
Gdy napotkasz potwierdzenie, które zawsze kończy się niepowodzeniem (na przykład Assert.IsTrue(false)
), może nie być od razu oczywiste dla kogoś, kto odczytuje kod, dlaczego istnieje potwierdzenie lub jaki warunek próbuje sprawdzić. Może to prowadzić do nieporozumień i marnowania czasu dla deweloperów, którzy natkną się później na kod.
Natomiast użycie polecenia Assert.Fail
umożliwia podanie niestandardowego komunikatu o niepowodzeniu, co jasno pokazuje, dlaczego potwierdzenie kończy się niepowodzeniem i jaki jest określony warunek lub scenariusz, do którego jest on adresowy. Ten komunikat służy jako dokumentacja intencji potwierdzenia, pomagając innym deweloperom zrozumieć cel potwierdzenia bez konieczności zagłębiania się w kod.
Ogólnie rzecz biorąc, użycie Assert.Fail
promuje przejrzystość, dokumentację i łatwość konserwacji w bazie kodu, dzięki czemu jest to lepszy wybór w przypadku zawsze nieudanego wywołania asercji.
Jak naprawić naruszenia
Upewnij się, że wywołania do Assert.IsTrue
, Assert.IsFalse
, Assert.AreEqual
, Assert.AreNotEqual
Assert.IsNull
lub Assert.IsNotNull
nie powodują zawsze niepowodzenia warunków.
Kiedy pomijać ostrzeżenia
Nie zalecamy pomijania ostrzeżeń z tej reguły.