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.