Udostępnij za pośrednictwem


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.AreNotEqualAssert.IsNull lub Assert.IsNotNull nie powodują zawsze niepowodzenia warunków.

Kiedy pomijać ostrzeżenia

Nie zalecamy pomijania ostrzeżeń z tej reguły.