Compartir a través de


MSTEST0040: No realice aserciones dentro de contextos 'async void'

Propiedad Valor
Identificador de la regla MSTEST0040
Título No realice aserciones dentro de contextos 'async void'
Categoría Uso
La corrección es problemática o no problemática Poco problemático
Habilitado por defecto
Gravedad predeterminada Advertencia
Introducido en la versión 3.8.0
Hay una corrección de código No

Causa

Uso de cualquier método de aserción en un método de async void, función local o función lambda.

Descripción de la regla

Las excepciones que se producen en un contexto de async void no se controlan. Una aserción fallida en un método de async void será ignorada y no bloqueará el proceso al usar VSTest en .NET Framework. En .NET, una aserción con error en un método de async void podría bloquear el proceso al usar Microsoft.Testing.Platform o VSTest. En los casos en los que hay un SynchronizationContext personalizado y este detecta la excepción, la aserción con error podría ser omitida sin aviso.

Cómo corregir infracciones

Refactorice el código para no usar aserciones en async void.

Cuándo suprimir las advertencias

No suprima las advertencias de esta regla.