Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
| Propriedade | Valor |
|---|---|
| ID da regra | MSTEST0040 |
| Título | Não afirme dentro de contextos "vazios assíncronos" |
| Categoria | Utilização |
| Ajuste está causando ou não causando quebra | Sem quebra |
| Ativado por padrão | Sim |
| Gravidade padrão | Advertência |
| Introduzido na versão | 3.8.0 |
| Existe uma correção de código | Não |
Causa
O uso de qualquer método de asserção em um método async void, função local ou lambda.
Descrição da regra
As exceções lançadas em um contexto async void não são tratadas. Uma asserção com falha em um método async void será engolida e não falhará o processo ao usar o VSTest no .NET Framework. Em .NET, uma declaração com falha em um método async void pode falhar o processo ao usar Microsoft.Testing.Platform ou VSTest. Nos casos em que existe um SynchronizationContext personalizado que capta a exceção, a afirmação falhada pode ser ignorada sem aviso.
Como corrigir violações
Refatore o código para não usar asserções em async void.
Quando suprimir avisos
Não suprima um aviso desta regra.