Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
As regras de análise MSTest ("MSTESTxxxx") inspecionam seu código C# ou Visual Basic em busca de segurança, desempenho, design e outros problemas.
Dica
Se você estiver usando o Visual Studio, muitas regras do analisador têm correções de código associadas que você pode aplicar para corrigir o problema. As correções de código são mostradas no menu do ícone de lâmpada.
As regras são organizadas em categorias, como desempenho, uso etc.
Começando com MSTest.TestFramework 3.7, o pacote NuGet MSTest.Analyzers é uma dependência do framework. Para versões anteriores, você precisa usar o metapacote MSTest ou adicionar explicitamente uma referência de pacote para MSTest.Analyzers.
MSTestAnalysisMode
A partir do MSTest 3.8, uma propriedade MSBuild chamada MSTestAnalysisMode está disponível para determinar quais analisadores estão habilitados em qual severidade.
Dica
Para ver quais regras estão habilitadas e com qual gravidade para cada modo, navegue até o pacote da versão desejada no cache do NuGet, localize o diretório globalconfigs e abra o arquivo .globalconfig correspondente ao modo de análise.
Para obter mais informações sobre como localizar o diretório de cache do NuGet, consulte Gerenciando os pacotes globais, o cache e as pastas temporárias. Nesse diretório, localize o diretório mstest.analyzers, então a versão 3.8 ou superior e, em seguida, globalconfigs.
Como alternativa, você pode baixar o pacote NuGet da versão de interesse e exibi-lo no Gerenciador de nuget.org Pacotes NuGet (aplicativo do Windows) ou exibir diretamente na versão do aplicativo Web do Gerenciador de Pacotes NuGet.
Os valores disponíveis para esta propriedade:
None
Esse valor configura todos os analisadores para o nível de severidade none, desabilitando-os. Em seguida, você pode habilitar analisadores individuais usando arquivos .editorconfig ou .globalconfig.
Default
Essa configuração segue o comportamento documentado padrão para cada regra.
- As regras que são habilitadas por padrão usarão a severidade padrão.
- As regras desabilitadas por padrão usarão a gravidade
none.
Observação
As regras habilitadas por padrão como avisos são violações que devem causar problemas em runtime.
Recommended
Esse é o modo que a maioria dos desenvolvedores deve usar. As regras habilitadas por padrão com a gravidade Informações (suggestion) são escalonadas para avisos. As regras a seguir são classificadas como erros em ambos os modos Recommended e All.
- MSTEST0003: os métodos de teste devem ter um layout válido.
- MSTEST0043: use o atributo de repetição no método de teste.
All
Esse modo é mais agressivo do que Recommended. Todas as regras são habilitadas como avisos. Além disso, as seguintes regras são consideradas erros:
- MSTEST0003: os métodos de teste devem ter um layout válido.
- MSTEST0043: use o atributo de repetição no método de teste.
Observação
As regras a seguir são completamente opcionais e não estão habilitadas nos modos Default, Recommendedou All:
- MSTEST0015: o método de teste não deve ser ignorado
- MSTEST0019: Preferir métodos TestInitialize em vez de construtores
- MSTEST0020: preferir construtores em vez de métodos TestInitialize
- MSTEST0021: Preferir o método Dispose em vez de métodos TestCleanup
- MSTEST0022: Preferir TestCleanup em vez dos métodos Dispose
Categorias
Regras de design
As regras de design ajudam você a criar e manter conjuntos de testes que aderem ao design adequado e às boas práticas.
Regras de desempenho
As regras de desempenho dão suporte a testes de alto desempenho.
Regras de supressão
As regras de supressão suportam a supressão de diagnósticos de outras regras.
Regras de uso
As regras de uso dão suporte ao uso adequado do MSTest.
MSTESTEXP
Várias APIs do MSTest são decoradas com o ExperimentalAttribute. Esse atributo indica que a API é experimental e pode ser removida ou alterada em versões futuras do MSTest. O atributo é usado para identificar APIs que ainda não estão estáveis e podem não ser adequadas para uso em produção.
O diagnóstico MSTESTEXP alerta você para usar uma API experimental em seu código. Para suprimir esse diagnóstico com SuppressMessageAttribute, adicione o seguinte código ao seu projeto:
using System.Diagnostics.CodeAnalysis;
[assembly: SuppressMessage("MSTESTEXP", "Justification")]
Como alternativa, você pode suprimir esse diagnóstico com a diretiva de pré-processador adicionando o seguinte código ao seu projeto:
#pragma warning disable MSTESTEXP
// API that is causing the warning.
#pragma warning restore MSTESTEXP