MSTEST0025: Verwenden von "Assert.Fail" anstelle einer always-failing-Assertion
Eigenschaft | Wert |
---|---|
Regel-ID | MSTEST0025 |
Titel | Verwenden Sie "Assert.Fail" anstelle einer always-failing-Assertion. |
Kategorie | Design |
Fix führt oder führt nicht zur Unterbrechung | Nicht unterbrechend |
Standardmäßig aktiviert | Ja |
Standardschweregrad | Info |
Eingeführt in Version | 3.4.0 |
Gibt es eine Codekorrektur | Ja |
Ursache
Diese Regel löst eine Diagnose aus, wenn ein Aufruf einer Assertion eine always-false-Bedingung erzeugt.
Regelbeschreibung
Die Verwendung von Assert.Fail
statt eines Aufrufs der always-failing-Assertion bietet klarere Absichten und eine bessere Dokumentation für den Code.
Wenn Sie auf eine Assertion stoßen, bei der immer ein Fehler auftritt (z. B. Assert.IsTrue(false)
), ist es für jemanden, der den Code liest, möglicherweise nicht sofort offensichtlich, warum die Assertion vorhanden ist oder welche Bedingung sie überprüfen soll. Dies kann zu Verwirrung und verschwendeter Zeit für Entwickler führen, die den Code finden.
Im Gegensatz dazu können Sie mithilfe von Assert.Fail
eine benutzerdefinierte Fehlermeldung bereitstellen, durch die klar wird, warum bei der Assertion ein Fehler auftritt und um welche spezifische Bedingung oder welches Szenario es geht. Diese Meldung dient als Dokumentation für die Absicht hinter der Assertion, die anderen Entwicklern hilft, den Zweck der Assertion zu verstehen, ohne sich ausführlich mit dem Code befassen zu müssen.
Insgesamt fördert die Verwendung von Assert.Fail
Klarheit, Dokumentation und Wartungsmöglichkeit in Ihrer Codebasis, wodurch sie eine bessere Wahl gegenüber des Aufrufs einer always-failing-Assertion ist.
Behandeln von Verstößen
Stellen Sie sicher, dass Aufrufe von Assert.IsTrue
, Assert.IsFalse
, Assert.AreEqual
, Assert.AreNotEqual
, Assert.IsNull
oder Assert.IsNotNull
nicht zu Bedingungen führen, die nie erfüllt sind.
Wann sollten Warnungen unterdrückt werden?
Es wird empfohlen, Warnungen bei dieser Regel nicht zu unterdrücken.
Unterdrücken einer Warnung
Wenn Sie nur eine einzelne Verletzung unterdrücken möchten, fügen Sie Ihrer Quelldatei Präprozessordirektiven hinzu, um die Regel zu deaktivieren und dann erneut zu aktivieren.
#pragma warning disable MSTEST0025
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0025
Um die Regel für eine Datei, einen Ordner oder ein Projekt zu deaktivieren, legen Sie den Schweregrad in der Konfigurationsdateiauf none
fest.
[*.{cs,vb}]
dotnet_diagnostic.MSTEST0025.severity = none
Weitere Informationen finden Sie unter So unterdrücken Sie Codeanalysewarnungen.