Udostępnij za pośrednictwem


MSTEST0032: Przejrzyj lub usuń asercję, ponieważ jej warunek jest zawsze prawdziwy

Właściwości Wartość
Identyfikator reguły MSTEST0032
Tytuł Przejrzyj lub usuń asercji, ponieważ jej warunek jest znany jako zawsze prawdziwy.
Kategoria Użycie
Poprawka powodująca niezgodność lub niezgodność Niezgodność
Domyślnie włączone Tak
Ważność domyślna Informacje
Wprowadzone w wersji 3.5.0
czy istnieje poprawka kodu Nie.

Przyczyna

Ta reguła zgłasza diagnostykę, gdy wywołanie asercji generuje zawsze prawdziwy warunek.

Opis reguły

Gdy napotkasz potwierdzenie, które zawsze przechodzi (na przykład ), nie jest oczywiste dla kogoś, kto odczytuje kod, Assert.IsTrue(true)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.

Jak naprawić naruszenia

Upewnij się, że wywołania do Assert.IsTrue, Assert.IsFalse, Assert.AreEqual, Assert.AreNotEqualAssert.IsNull lub Assert.IsNotNull nie generują zawsze rzeczywistych warunków.

Kiedy pomijać ostrzeżenia

Nie zaleca się pomijania ostrzeżeń z tej reguły.

Pomijanie ostrzeżenia

Jeśli chcesz po prostu pominąć pojedyncze naruszenie, dodaj dyrektywy preprocesora do pliku źródłowego, aby wyłączyć, a następnie ponownie włączyć regułę.

#pragma warning disable MSTEST0032
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0032

Aby wyłączyć regułę dla pliku, folderu lub projektu, ustaw jego ważność na none w pliku konfiguracji .

[*.{cs,vb}]
dotnet_diagnostic.MSTEST0032.severity = none

Aby uzyskać więcej informacji, zobacz Jak pominąć ostrzeżenia analizy kodu.