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.AreNotEqual
Assert.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.