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 | Sí |
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.