Partilhar via


MSTEST0040: Não afirme dentro de contextos 'vazios assíncronos'

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.