Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
| Właściwość | Wartość |
|---|---|
| Identyfikator reguły | MSTEST0032 |
| Tytuł | Przejrzyj lub usuń asercję, ponieważ jej warunek jest znany jako zawsze prawdziwy. |
| Kategoria | Użycie |
| Poprawka powodująca niezgodność lub niepowodująca niezgodności | Nierozdzielający |
| Domyślnie włączone | Tak |
| Domyślny poziom ważności | Ostrzeżenie rozpoczynające się od wersji 4.0.0, informacje przed |
| Wprowadzone w wersji | 3.5.0 |
| czy istnieje poprawka kodu | Nie |
Przyczyna
Ta reguła zgłasza diagnostykę, gdy wywołanie asercji powoduje, że warunek jest zawsze prawdziwy.
Opis reguły
Asercja, która zawsze przechodzi, taka jak Assert.IsTrue(true), nie może wykryć regresji w kodzie poddawanym testom. Może to sprawić, że test sprawia wrażenie, że weryfikuje zachowanie, porównując jedynie stałą lub wartość z samą sobą.
Przejrzyj asercję pod kątem błędu kopiowania i wklejania, brakującego porównania lub nieprawidłowej zmiennej. Sprawdź warunek na podstawie rzeczywistego wyniku lub usuń asercję, która nie weryfikuje żadnego działania.
Jak naprawić naruszenia
Upewnij się, że wywołania do Assert.IsTrue, Assert.IsFalse, Assert.AreEqual, Assert.AreNotEqual, Assert.IsNull lub Assert.IsNotNull nie generują warunków zawsze prawdziwych.
Kiedy pomijać ostrzeżenia
Nie zaleca się wyciszania 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.