Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
| Vlastnost | Hodnota |
|---|---|
| ID pravidla | MSTEST0025 |
| Název | Místo vždy selhávajícího kontrolního výrazu použijte Assert.Fail. |
| Kategorie | Usage |
| Oprava způsobující chybu nebo chybu způsobující chybu | Nenarušující |
| Povoleno ve výchozím nastavení | Ano |
| Výchozí závažnost | Upozornění počínaje verzí 4.0.0, informace před upozorněním. |
| Představeno ve verzi | 3.4.0 |
| Existuje oprava kódu | Ano |
Příčina
Toto pravidlo vyvolá diagnostiku, když volání kontrolního výrazu vytvoří podmínku always-false.
Popis pravidla
Použití Assert.Fail přes vždy selhávající volání kontrolního výrazu poskytuje jasnější záměr a lepší dokumentaci pro kód.
Když narazíte na kontrolní výraz, který vždy selže (například), nemusí být okamžitě zřejmé, Assert.IsTrue(false)že někdo čte kód, proč kontrolní výraz existuje nebo jaký stav se pokouší zkontrolovat. To může vést k nejasnostem a plýtvání časem pro vývojáře, kteří se s kódem setkali později.
Použití Assert.Fail naproti tomu umožňuje zadat vlastní zprávu o selhání, aby bylo jasné, proč kontrolní výraz selhává a jaká konkrétní podmínka nebo scénář řeší. Tato zpráva slouží jako dokumentace k záměru kontrolního výrazu a pomáhá ostatním vývojářům porozumět účelu kontrolního výrazu, aniž by se museli podrobně zabývat kódem.
Použití Assert.Fail celkově podporuje přehlednost, dokumentaci a udržovatelnost v základu kódu, takže je lepší volbou pro vždy neúspěšné volání kontrolního výrazu.
Jak opravit porušení
Ujistěte se, že volání , Assert.IsTrue, Assert.IsFalseAssert.AreEqual, Assert.AreNotEqualAssert.IsNull nebo Assert.IsNotNull nevytvájí vždy selhávající podmínky.
Kdy potlačit upozornění
Nedoporučujeme potlačit upozornění z tohoto pravidla.
Potlačení upozornění
Pokud chcete pouze potlačit jedno porušení, přidejte do zdrojového souboru direktivy preprocesoru, abyste pravidlo zakázali a znovu povolili.
#pragma warning disable MSTEST0025
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0025
Chcete-li pravidlo pro soubor, složku nebo projekt zakázat, nastavte jeho závažnost na none v konfiguračním souboru .
[*.{cs,vb}]
dotnet_diagnostic.MSTEST0025.severity = none
Další informace naleznete v tématu Jak potlačit upozornění analýzy kódu.