Partilhar via


Perguntas frequentes sobre o Gerenciador de Testes do Visual Studio

Descoberta dinâmica de testes

O Test Explorer não está descobrindo meus testes que são definidos dinamicamente (por exemplo, teorias, adaptadores personalizados, características personalizadas e instruções #ifdef). Como posso ter certeza de que ele descobre esses testes?

Crie seu projeto para executar a descoberta baseada em assembly.

A descoberta de teste em tempo real é a descoberta de teste baseada na fonte. Não consegue descobrir testes que usam teorias, adaptadores personalizados, #ifdef instruções, características personalizadas e muito mais porque são definidos em tempo de execução. Uma compilação é necessária para que esses testes sejam encontrados com precisão.

No Visual Studio 2017 versão 15.6 e posterior, a descoberta baseada em assembly (o descobridor tradicional) é executada somente após compilações. Esta configuração significa que a descoberta de testes em tempo real encontra o máximo de testes possível enquanto você está a editar. A descoberta baseada em montagem permite que testes definidos dinamicamente apareçam após uma compilação.

A descoberta de testes em tempo real melhora a capacidade de resposta, mas ainda permite obter resultados completos e precisos após uma compilação.

Explorador de Testes e símbolo (+)

O que significa o símbolo de adição que aparece na linha superior do Test Explorer?

O símbolo de mais (+) indica que mais testes podem ser descobertos após uma compilação quando a descoberta baseada em assembly é executada. Esse símbolo aparece se testes definidos dinamicamente forem detetados em seu projeto.

Captura de tela que mostra uma linha de resumo com um símbolo de mais.

Descoberta de teste em tempo real

Os testes agora aparecem no Gerenciador de Testes enquanto eu digito, sem exigir que eu crie meu projeto. O que mudou?

Esta funcionalidade é chamada de descoberta de testes em tempo real. Ele usa um analisador Roslyn para encontrar testes e preencher o Test Explorer em tempo real, sem exigir que você construa seu projeto. Para obter mais informações sobre o comportamento de descoberta de teste para testes definidos dinamicamente, como teorias ou características personalizadas, consulte Dynamic test discovery anteriormente neste artigo.

Compatibilidade para a deteção de testes em tempo real

Quais linguagens e estruturas de teste podem usar a descoberta de teste em tempo real?

Descoberta de teste em tempo real funciona apenas para as linguagens geridas (C# e Visual Basic), porque é construída através do compilador Roslyn. Por enquanto, a descoberta de teste em tempo real funciona apenas para as estruturas xUnit, NUnit e MSTest.

Registos do Explorador de Testes

Como posso ativar os logs para o Test Explorer?

Vá para Ferramentas>Opções>Teste e encontre a seção Registo lá.

Descoberta de testes de UWP

Por que meus testes em projetos UWP não são descobertos até que eu implante meu aplicativo?

Os testes da Plataforma Universal do Windows (UWP) visam um tempo de execução diferente quando o aplicativo é implantado. Para encontrar testes com precisão para projetos UWP, você precisa não apenas criar seu projeto, mas também implantá-lo.

Explorador de Testes: classificação

Como funciona a classificação dos resultados do teste na visualização da hierarquia?

A exibição de hierarquia classifica os testes em ordem alfabética, não por resultado. As configurações anteriores agrupadas por grupo classificavam os resultados do teste por resultado e, em seguida, por ordem alfabética. Você ainda pode habilitar a ordenação por resultado clicando com o botão direito do rato no cabeçalho da coluna no Explorador de Testes, habilitando a coluna Estado e depois selecionando o cabeçalho da coluna Estado para aplicar a ordenação nessa coluna. Você pode fornecer feedback sobre o design em nesta issue do GitHub.

Vista de hierarquia do Explorador de Teste

No modo de exibição de hierarquia, há ícones passados, falhados, ignorados e não executados ao lado de agrupamentos de nó pai. O que significam estes ícones?

Os ícones ao lado dos agrupamentos Project, Namespacee Class mostram o estado dos testes dentro de cada agrupamento. Veja a tabela a seguir.

Tabela de ícones de hierarquia do Test Explorer.

Pesquisas por caminho de arquivo

Por que não há mais um filtro de caminho de arquivo na caixa de pesquisa do Gerenciador de Testes?

O filtro de caminho de arquivo na caixa de pesquisa Test Explorer foi removido no Visual Studio 2017 versão 15.7. Esse recurso tinha baixo uso, e o Test Explorer pode recuperar métodos de teste mais rapidamente, deixando-os de fora. Se essa alteração interromper seu fluxo de desenvolvimento, informe-nos enviando comentários sobre da Comunidade de Desenvolvedores.

Remoção de interfaces não documentadas

Algumas APIs relacionadas a teste não estão mais presentes no Visual Studio 2019. O que mudou?

No Visual Studio 2019, algumas APIs de janela de teste que foram marcadas anteriormente como públicas, mas nunca foram oficialmente documentadas, serão removidas. Eles foram marcados como preteridos no Visual Studio 2017 para dar aos mantenedores de extensão um aviso antecipado. Até onde sabemos, poucas extensões encontraram essas APIs e dependeram delas. Eles incluem IGroupByProvider, IGroupByProvider<T>, KeyComparer, ISearchFilter, ISearchFilterToken, ISearchTokene SearchFilterTokenType.

Se esta alteração afetar a sua extensão, informe-nos apresentando um bug na Comunidade de Programadores.

Referência NuGet do adaptador de teste

Por que meus testes não são executados no Visual Studio 2017 versão 15.8, mesmo que eles sejam descobertos?

Todos os projetos de teste devem incluir a sua referência NuGet do adaptador de teste .NET no seu arquivo .csproj. Se isso não acontecer, a seguinte saída de teste aparecerá no projeto se a descoberta por uma extensão do adaptador de teste começar após uma compilação ou se você tentar executar os testes selecionados:

O projeto de teste {} não faz referência a qualquer adaptador .NET NuGet. A descoberta ou execução de teste pode não funcionar para este projeto. É recomendável fazer referência aos adaptadores de teste NuGet em cada projeto de teste .NET na solução.

Em vez de usar extensões de adaptador de teste, os projetos devem usar pacotes NuGet do adaptador de teste. Este requisito melhora muito o desempenho e causa menos problemas com a integração contínua. Leia mais sobre a descontinuação das extensões do adaptador de teste .NET nas notas de versão .

UWP TestContainer não encontrado

Por que meus testes UWP não estão mais em execução no Visual Studio 2017 versão 15.7 e posterior?

Projetos de teste UWP recentes especificam uma propriedade de compilação que permite um melhor desempenho para identificar aplicativos de teste. Se tiveres um projeto de teste UWP que foi inicializado antes da versão 15.7 do Visual Studio, podes ver este erro na saída de testes>:

System.AggregateException: Ocorreu um ou mais erros. ---> System.InvalidOperationException: O TestContainer a seguir não foi encontrado {} em Microsoft.VisualStudio.TestWindow.Controller.TestContainerProvider <GetTestContainerAsync>d__61.MoveNext()

Para corrigir este erro:

  • Atualize a propriedade de compilação para os seus projetos de teste usando o seguinte código:

    <UnitTestPlatformVersion Condition="'$(UnitTestPlatformVersion)' == ''">$(VisualStudioVersion)</UnitTestPlatformVersion>
    
  • Atualize a versão do SDK do TestPlatform usando o seguinte código:

    <SDKReference Include="TestPlatform.Universal, Version=$(UnitTestPlatformVersion)" />
    

Funcionalidades de pré-visualização

Como posso usar os recursos de visualização no Visual Studio 2019?

No Visual Studio 2019, você pode ativar a pré-visualização de funcionalidades em Ferramentas>Opções>Ambiente>Funcionalidades de Pré-visualização.