Estende os testes com texto fantasma e corrige testes falhados

Concluído

Depois de o seu projeto de teste incluir alguns casos de teste, o GitHub Copilot pode ajudá-lo a estender a cobertura e a resolver falhas sem sair do Visual Studio Code. Sugestões de texto fantasma adicionam casos de teste adicionais dentro do ficheiro que estás a editar, enquanto o Explorador de Testes e o /fixTestFailure comando barra ajudam a diagnosticar e corrigir testes falhados. Juntas, estas funcionalidades fecham o ciclo no fluxo de trabalho de testes unitários que iniciou na vista Chat.

Estenda a cobertura dos testes com sugestões de texto fantasma

Texto fantasma é a conclusão do código em linha que aparece à medida que escreves no editor. Quando um ficheiro de teste já contém alguns casos de teste, o GitHub Copilot utiliza os padrões existentes para sugerir casos de teste semelhantes para cenários adicionais. Esta é a forma mais rápida de prolongar a cobertura assim que os seus testes iniciais estiverem feitos.

Para estender um ficheiro de teste com texto fantasma:

  1. Abra um ficheiro de teste que contenha pelo menos um ou dois casos completos de teste.

  2. Posicione o cursor no final do último caso de teste e pressione Enter para iniciar uma nova linha.

  3. Comece a escrever um novo método de teste ou escreva um comentário descritivo como // Test that ProcessOrder throws when the order total is negative.

    O GitHub Copilot apresenta uma sugestão de texto fantasma que completa o método de teste com base no código circundante, nas importações e nos padrões de teste existentes.

  4. Carrega em Tab para aceitar a sugestão, ou carrega em Esc para a rejeitar.

  5. Refinar a sugestão aceite conforme necessário. Pode continuar a escrever para estender o teste, ou pode ativar a próxima sugestão de texto fantasma pressionando Enter.

O texto fantasma funciona melhor quando:

  • O ficheiro de teste já mostra o padrão que GitHub Copilot quer seguir (por exemplo, estrutura Arrange-Act-Assert ou um atributo de teste parametrizado).
  • O método em teste é referenciado no ficheiro através de uma using diretiva ou de um namespace importado.
  • O teu comentário indica claramente o cenário que queres testar.

Tip

Use texto fantasma para adicionar rapidamente casos extremos a uma classe de teste existente. Para trabalhos mais substanciais, como criar uma classe de teste totalmente nova, regresse à vista Conversa e utilize os agentes Ask, Plan ou Agent.

Corrigir testes falhados no Test Explorer

Quando um teste falha, o Test Explorer fornece um ponto de entrada com um clique no GitHub Copilot.

  1. Executa os teus testes pelo Test Explorer ou pelo botão verde play ao lado de um método de teste.

  2. No Explorador de Testes, passe o rato sobre um teste que está a falhar.

  3. Selecione o botão Corrigir Falha do Teste (ícone de brilho).

    O GitHub Copilot abre uma sessão de chat, anexa o teste falhado e o seu resultado como contexto, e propõe uma correção.

  4. Veja a solução proposta.

    A sugestão pode atualizar o código da aplicação, o código de teste, ou ambos, dependendo da causa da falha.

  5. Aplica ou descarta a sugestão.

    Use Guardar para aplicar as alterações sugeridas, ou usar Desfazer para as descartar. Repete o teste para confirmar a correção.

Corrigir testes falhados com /fixTestFailure

Também podes iniciar o fluxo de trabalho de correcção a partir da vista do Chat, o que é útil quando queres adicionar contexto extra ou quando estás a resolver vários testes falhados ao mesmo tempo.

  1. Abra a janela do Chat.

  2. Introduza o /fixTestFailure comando de barra.

  3. Opcionalmente, anexe contexto adicional, como ficheiros fonte relacionados ou saída recente do terminal.

  4. Segue as sugestões do GitHub Copilot para corrigir o teste falhado e depois repete o teste para confirmar a correção.

Deixe o Agente monitorizar e corrigir falhas automaticamente

Quando usas o Agente para executar testes, ele monitoriza a saída do teste, identifica falhas e tenta automaticamente corrigir e reexecutar os testes. Isto é útil quando está a estruturar um novo projeto de teste ou a fazer grandes alterações que afetam muitos testes ao mesmo tempo.

Para usar o Agente para manutenção automática de testes:

  1. Abra a vista do Chat e selecione Agente no selecionador de agentes.

  2. Forneça um prompt que inclua a execução dos testes, tais como: Run the xUnit tests in the Calculator.Tests project. If any tests fail, propose and apply fixes, then rerun the tests until they pass.

  3. Confirme ou rejeite as invocações de ferramentas e os comandos do terminal sugeridos pelo Agente.

  4. Revise as alterações que o Agente aplicou antes de as aceitar.

Escolha a ferramenta certa para o trabalho

Use as seguintes orientações para decidir que funcionalidade utilizar:

  • O texto fantasma é melhor quando queres adicionar mais casos de teste a um ficheiro de teste existente que já mostra o padrão.
  • Corrigir a falha de teste no Explorador de Testes é melhor quando um único teste falha e quer uma solução rápida e focada.
  • /fixTestFailure na vista de Chat é melhor quando quiser adicionar contexto adicional ou resolver várias falhas.
  • Execuções de teste orientadas por agentes são melhores quando queres que GitHub Copilot execute testes, diagnostique falhas e aplique correções em vários ficheiros numa só sessão.

Em conjunto, estas ferramentas completam o fluxo de trabalho de testes unitários. A vista de chat, o agente do plano e o agente geram os testes iniciais; O texto fantasma preenche a cobertura adicional; E as funcionalidades de correção-teste-falha mantêm a suite verde à medida que o seu código evolui.