Partilhar via


MSTEST0001: Habilitar ou desabilitar explicitamente a paralelização de testes

Property valor
ID da regra MSTEST0001
Título Habilitar ou desabilitar explicitamente a paralelização de testes
Categoria Desempenho
A correção está quebrando ou não quebrando Sem quebra
Ativado por padrão Sim
Severidade padrão Informação (Aviso na versão 4.0)
Introduzido na versão 3.2.0
Existe uma correção de código Não

Motivo

O assembly não está marcado com [assembly: Parallelize] ou [assembly: DoNotParallelize] atributo.

Descrição da regra

Por padrão, o MSTest executa testes dentro do mesmo assembly sequencialmente, o que pode levar a graves limitações de desempenho. Recomenda-se habilitar o atributo [assembly: Parallelize] assembly para executar testes em paralelo ou, se o assembly for conhecido por não ser paralelizável, usar explicitamente o atributo [assembly: DoNotParallelize]assembly level.

A configuração padrão de é equivalente a [assembly: Parallelize], o que significa que a paralelização será definida no nível da classe (não no nível do [assembly: Parallelize(Scope = ExecutionScope.ClassLevel)] método) e usará o maior número possível de threads (dependendo da implementação interna).

Como corrigir violações

Para corrigir uma violação desta regra, adicione [assembly: Parallelize] ou [assembly: DoNotParallelize] atribua. Recomendamos usar [assembly: Parallelize(Scope = ExecutionScope.MethodLevel)] para ter melhor paralelização.

Quando suprimir avisos

Não suprima um aviso desta regra. Muitas bibliotecas podem se beneficiar de um enorme aumento de desempenho ao habilitar a paralelização. Quando o aplicativo de teste é projetado de forma a evitar a paralelização, ter o atributo explicitamente definido ajuda os novos desenvolvedores a entender as limitações da biblioteca.

Suprimir um aviso

Como essa regra é relatada no nível de compilação e não em um arquivo de origem .cs ou .vb , não é possível suprimir violações a essa regra em linha ou por meio de um .editorconfig arquivo.

Para desativar a regra para um projeto, adicione <NoWarn>$(NoWarn);MSTEST0001</NoWarn> ao arquivo de projeto ou ao arquivo Directory.Build.props.

Para controlar a severidade dessa regra, você pode fazê-lo somente por meio de um .globalconfig arquivo. Para obter mais informações, consulte Arquivos de configuração.

is_global = true

dotnet_diagnostic.MSTEST0001.severity = none

Para obter mais informações, consulte Como suprimir avisos de análise de código.