Dela via


MSTEST0040: Hävda inte i kontexter med "asynkront tomrum"

Egenskap Värde
Regel-ID MSTEST0040
Rubrik Hävda inte i "asynkron void"-kontexter
Kategori Användning
Korrigeringen är antingen brytande eller icke-brytande icke-brytande
Aktiverad som standard Ja
Standard allvarlighetsgrad Varning
introducerades i version 3.8.0
Finns det en kodkorrigering Nej

Orsak

Användning av en assertionsmetod i en async void-metod, lokal funktion eller lambda.

Regelbeskrivning

Undantag som kastas i en async void-kontext hanteras inte. En misslyckad försäkran i en async void-metod kommer att sväljas och kraschar inte processen när VSTest används under .NET Framework. Under .NET kan en misslyckad försäkran i en async void-metod krascha processen när du använder Microsoft.Testing.Platform eller VSTest. I de fall där det finns en anpassad SynchronizationContext som fångar undantaget kan det misslyckade påståendet sväljas utan att märkas.

Så här åtgärdar du överträdelser

Omstrukturera koden så att den inte använder assertioner i async void.

När du ska ignorera varningar

Ignorera inte en varning från den här regeln.