Teilen über


MSTEST0040: Keine Assertion in 'async void'-Kontexten verwenden

Eigenschaft Wert
Regel-ID MSTEST0040
Titel Keine Assertion in 'async void'-Kontexten verwenden
Kategorie Verbrauch
Fix is breaking or non-breaking Untrennbar
Standardmäßig aktiviert Ja
Standard-Schweregrad Warnung
wurde in Version eingeführt. 3.8.0
Gibt es eine Codekorrektur No

Ursache

Die Verwendung einer Assertion-Methode in einer async void-Methode, einer lokalen Funktion oder einem Lambda.

Regelbeschreibung

In einem async void-Kontext ausgelöste Ausnahmen, werden nicht behandelt. Eine fehlgeschlagene Assertion in einer async void-Methode wird akzeptiert und lässt den Prozess nicht abstürzen, wenn Sie VSTest unter dem .NET Framework verwenden. Unter .NET kann eine fehlgeschlagene Assertion in einer async void-Methode den Prozess zum Absturz bringen, wenn Sie Microsoft.Testing.Platform oder VSTest verwenden. Falls ein benutzerdefinierter SynchronizationContext vorhanden ist, der die Ausnahme erfasst, kann die fehlerhafte Assertion unbemerkt behoben werden.

Das Beheben von Verstößen

Refactoring des Codes, um keine Assertions in async void zu verwenden.

Wann sollten Warnungen unterdrückt werden?

Unterdrücken Sie keine Warnung dieser Regel.