Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
As execuções de teste no Visual Studio envolvem a criação do projeto para atualizar os binários no disco antes de usar a plataforma de teste para executar seus testes. O tempo de compilação dentro do Visual Studio pode variar dependendo do tipo de alterações feitas no código. Para soluções maiores, as compilações podem ser a parte mais cara da execução do teste. No Visual Studio 2022 e posteriores, a execução de testes com hot reload pode ser ativada para acelerar a execução dos testes, ignorando as compilações para cenários com suporte.
O que é suportado?
- Projetos C# e VB destinados ao .NET 6.0 e superior
- Projetos de teste criados para a configuração DEBUG
- Visual Studio 2022 e superior
Habilite a execução de testes com Hot Reload
Habilite esse recurso escolhendo Teste>Opções>"(Experimental) Habilitar testes com recarga dinâmica para projetos de teste C# e VB visando o .NET 6 ou superior".
Porque é Experimental?
Esta é uma nova maneira de execução de teste onde alteramos um caminho amplamente utilizado de validação de código. Também esperamos que a experiência do usuário em torno desse recurso mude à medida que recebemos mais feedback dos usuários. Por estas duas razões, atualmente rotulamos esse recurso como "experimental".
Como funciona
Quando a opção estiver ativada, o Test Explorer usará automaticamente a execução de teste com recarga a quente quando possível. Se uma recarga a quente não for possível, ela voltará ao comportamento regular de construção e execução de testes. Como um usuário executando testes, você não precisa fazer nenhuma alteração no seu fluxo de trabalho (ou seja, continuar a editar código e executar testes).
Nos bastidores, estamos usando a mesma infraestrutura Edit and Continue que existe na recém-lançada experiência Hot Reload para editar código C#/VB em tempo de execução para determinar as alterações feitas. Por esta razão, fazemos recarregamento automático apenas quando não há "edições significativas", caso em que voltamos a construir os testes antes de executá-los. Para obter mais detalhes sobre as edições suportadas, leia a documentação Editar e Continuar
Quanto mais rápida será a execução do teste?
Há muitas variáveis que entram em jogo ao estimar quanto tempo esse recurso economizará você. Por exemplo:
- Quanto tempo demora a construção do projeto.
- Que tipo de edição foi feita.
- Qual é o tamanho do arquivo onde a edição foi feita.
- Onde foi feita a edição (se foi um projeto folha ou não).
Em última análise, as melhorias de velocidade estarão diretamente relacionadas com o tempo de compilação que teria ocorrido naquela execução de teste específica.
Observações
- A primeira execução de teste depois de habilitar a opção ou abrir o Visual Studio incorrerá em uma compilação de projeto.
- Os arquivos no editor não podem ser salvos quando os testes são executados. Para resolvê-los e antes de fazer check-in, certifique-se de fazer uma compilação completa (Ctrl+Shift+B).
- Os binários no disco não são atualizados quando ocorre a execução do teste com recarga dinâmica.
- A execução de teste com recarregamento dinâmico não funciona com "Test>Run All Tests", "Run All Tests in View" no Test Explorer, nem funciona com Run All Tests do nó da solução no Solution Explorer. O recurso não funciona com esses comandos porque eles atualmente garantem a construção de toda a solução.
- Quando testes com estruturas de destino sem suporte (inferiores ao .NET 6.0) são executados, ocorre uma compilação de projeto.
- Se você vir alguma inconsistência entre o que está no disco e o que o Test Explorer mostra, considere uma compilação de solução/projeto usando Ctrl+Shift+B e, em seguida, execute testes. Qualquer compilação explícita substitui os resultados do teste de recarga a quente pelos resultados regulares do teste de compilação completa.
Problemas conhecidos
- A execução do teste com recarga a quente não ocorre nos seguintes cenários:
- Cobertura de código
- Teste de unidade ao vivo
- Perfilagem
- Depuração de código
- Os traços de pilha podem não ser legíveis devido à presença de tokens ilegíveis. Esse problema está sendo rastreado aqui e está planejado para uma correção no .NET 7.0
- A solução alternativa recomendada neste caso é criar seu projeto e executar novamente o teste.
Os seus comentários são importantes
Como mencionado anteriormente, para que este recurso experimental esteja completo, precisamos do seu feedback. Se você tiver uma sugestão de como a experiência deve ser, ou encontrar quaisquer problemas, por favor, reserve um momento para relatar problemas para nós. Somente com o seu feedback podemos garantir que os problemas críticos sejam resolvidos e as decisões futuras sejam priorizadas com base em suas contribuições.
Para entrar em contato conosco, use o mecanismo de feedback do Visual Studio.