Examinar as ferramentas e o ambiente de testes de unidade
O chat do GitHub Copilot pode ser usado para sugerir testes de unidade com base no código especificado. Por exemplo, se você especificar uma assinatura e um corpo do método, o chat do GitHub Copilot poderá sugerir casos de teste que abrangem os parâmetros de entrada e os valores de saída esperados. Quando o projeto de teste contiver alguns casos de teste, será possível usar o GitHub Copilot para gerar sugestões de conclusão de código de casos de teste adicionais. O uso de conclusões de linha de código para gerar testes de unidade reduz o processo repetitivo e ajuda a garantir que seu código seja testado minuciosamente.
O chat do GitHub Copilot usa o contexto e a semântica do código para sugerir declarações que garantam que a função esteja funcionando corretamente. Também ajuda a gravar casos de teste para casos de borda e condições delimitantes que podem ser difíceis de se identificar manualmente. Por exemplo, o chat do GitHub Copilot pode sugerir casos de teste para lidar com erros, valores nulos ou tipos de entrada inesperados.
Importante
Os casos de teste gerados podem não abranger todos os cenários possíveis. Testes manuais e revisões de código são necessários para garantir a qualidade do código.
Suporte do GitHub Copilot para teste de unidade
O Copilot pode ajudar com as seguintes tarefas de teste:
- Configurar estruturas de teste: obtenha ajuda para configurar a estrutura de teste correta e as extensões do VS Code para seu projeto e idioma.
- Gerar código de teste: criar testes de unidade, testes de integração e testes de ponta a ponta que abrangem o código do aplicativo.
- Lidar com casos de borda: gerar conjuntos de testes abrangentes para cobrir casos de borda e condições de erro.
- Correção de testes com falha: receba sugestões para corrigir falhas de teste.
- Manter a consistência: personalize o Copilot para gerar testes que seguem as práticas de codificação do projeto.
Configurar sua estrutura de teste
Para acelerar o fluxo de trabalho de teste, o Copilot pode ajudar a configurar a estrutura de teste e as extensões do VS Code para seu projeto. O Copilot sugere estruturas de teste apropriadas com base no tipo de projeto.
Abra a visualização do chat.
Insira o comando
/setupTestsno campo de entrada do chat.Siga as diretrizes do GitHub Copilot para configurar seu projeto.
Gravar testes de unidade com o GitHub Copilot
O GitHub Copilot pode ajudar você a escrever testes para o código do aplicativo gerando um código de teste que abrange sua base de código. Isso inclui testes de unidade, testes de ponta a ponta e testes para casos de borda.
Você pode gerar testes de unidade usando as seguintes ferramentas do GitHub Copilot:
- Exibição de chat: use a Exibição de chat para gerar testes de unidade para um projeto, classe ou método usando o modo Perguntar, Editar ou Agente.
- Chat embutido: use o Chat Embutido para gerar testes de unidade para classes ou métodos selecionados.
- Ações inteligentes: use a ação inteligente Gerar Testes para gerar testes de unidade para o código selecionado sem escrever nenhum prompt.
- Preenchimentos de linha de código: use preenchimentos de linha de código para sugerir testes de unidade de adição para um caso de teste existente.
Corrigir testes com falha
O Copilot integra-se ao Gerenciador de Testes no Visual Studio Code e pode ajudar na correção de testes com falha.
No Gerenciador de Testes, passe o mouse sobre um teste com falha.
Selecione o botão Corrigir Falha de Teste (ícone de brilho)
Examine e aplique a correção sugerida do Copilot.
Como alternativa, é possível:
Abra a visualização do chat.
Insira o comando barra
/fixTestFailure.Siga as sugestões do Copilot para corrigir o teste
Dica
O modo de agente monitora a saída de teste ao executar testes e tenta corrigir e executar novamente testes com falha.
Manter a consistência
Se sua organização tiver requisitos de teste específicos, você poderá personalizar como o Copilot gera testes para garantir que eles atendam aos seus padrões. Você pode personalizar como o Copilot gera testes fornecendo instruções personalizadas. Por exemplo:
- Especificar estruturas de teste preferenciais
- Definir convenções de nomenclatura para testes
- Definir preferências de estrutura de código
- Solicitar padrões de teste ou metodologias específicas
Suporte do Visual Studio Code aos testes de unidade
Para criar e executar testes de unidade em C# no Visual Studio Code, você precisa dos seguintes recursos:
- SDK do .NET 8.0 ou posterior.
- Extensão do Kit de Desenvolvimento em C# para o Visual Studio Code.
- Um pacote de estrutura de teste adicionado ao seu projeto.
Suporte ao Kit de Desenvolvimento em C# para testes de unidade
A extensão do Kit de Desenvolvimento em C# para o Visual Studio Code fornecem um conjunto avançado de recursos para ajudar você a criar e gerenciar testes de unidade para seus projetos em C#. Ela contém os seguintes recursos:
- Explorador de testes – uma visualização em árvore para mostrar todos os casos de teste no seu workspace.
- Casos de teste de execução/depuração – um recurso para executar e depurar casos de teste.
- Exibir resultados de teste – um recurso para exibir os resultados de teste.
- Comandos de teste – comandos para executar todos os testes, executar testes com falha e muito mais.
- Configurações de testes – configurações específicas para testes.
- Pacote de estrutura de teste
O Kit de Desenvolvimento em C# dá suporte às seguintes estruturas de teste:
- xUnit
- NUnit
- MSTest
O Kit de Desenvolvimento em C# permite que você crie um projeto de teste, adicione um pacote de estrutura de teste e gerencie testes de unidade.
Como habilitar uma estrutura de testes
A paleta de comandos no Visual Studio Code fornece a maneira mais fácil de habilitar uma estrutura de teste para seu projeto. Você pode abrir a paleta de comandos das seguintes maneiras:
- Pressione as teclas Ctrl + Shift + P (Windows/Linux) ou Cmd + Shift + P (macOS).
- Abra o menu Exibir e selecione Paleta de comandos.
- Abra a exibição do Gerenciador de Soluções, clique com o botão direito do mouse na pasta de soluções e, a seguir, selecione Novo projeto. Essa opção abre a paleta de comandos com o comando .NET:New Project... já selecionado.
As seções a seguir descrevem como habilitar uma estrutura de teste para seu projeto em C# usando a paleta de comandos.
xUnit
Abra a Paleta de Comandos e selecione .NET:Novo Projeto.... Em seguida, selecione Projeto de Testes do xUnit e forneça o nome e o local do novo projeto. Esse comando cria um novo projeto e um novo diretório que usam o xUnit como biblioteca de testes e configura o executor de testes adicionando os seguintes elementos de <PackageReference /> ao arquivo do projeto.
Microsoft.NET.Test.SdkxUnitxunit.runner.visualstudiocoverlet.collector
No Terminal, você pode executar o seguinte comando:
dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]
NUnit
Abra a Paleta de Comandos e selecione .NET:Novo Projeto.... Em seguida, selecione Projeto de Testes NUnit3 e forneça o nome e o local do novo projeto. Esse comando cria um novo projeto e um novo diretório que usam o NUnit como biblioteca de testes e configura o executor de testes adicionando os seguintes elementos de <PackageReference /> ao arquivo do projeto.
Microsoft.NET.Test.SdkNUnitNUnit3TestAdapter
No Terminal, execute o seguinte comando:
dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]
MSTest
Abra a Paleta de Comandos e selecione .NET:Novo Projeto.... Em seguida, selecione Projeto de Testes MsTest e forneça o nome e o local do novo projeto. Esse comando cria um novo projeto e um novo diretório que usam o MSTest como biblioteca de testes e configura o executor de testes adicionando os seguintes elementos de <PackageReference /> ao arquivo do projeto.
Microsoft.NET.Test.SdkMSTest.TestAdapterMSTest.TestFrameworkcoverlet.collector
No Terminal, execute o seguinte comando:
dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]
Desenvolver testes de unidade no Visual Studio Code usando o Chat do GitHub Copilot
A combinação entre o Visual Studio Code e o Chat do GitHub Copilot fornece um ambiente poderoso para criar e executar testes de unidade para seus projetos em C#.
O processo de testes de unidade pode ser dividido em três estágios:
- Use o Visual Studio Code para criar um projeto de testes para seus testes de unidade.
- Use o Chat do GitHub Copilot para desenvolver casos de testes de unidade para seu projeto em C#.
- Use o Visual Studio Code e o Kit de Desenvolvimento em C# para executar e gerenciar seus testes de unidade.
Criar um projeto de teste
Você precisa criar um projeto de teste que será usado para realizar os testes de unidade. Você pode usar o Visual Studio Code para concluir as seguintes tarefas:
Use a paleta de comandos para criar um projeto de teste que usa uma estrutura de teste especificada.
Use o terminal integrado para adicionar uma referência ao projeto que você está testando.
Esse processo cria um novo projeto e configura o executor de testes para a estrutura selecionada.
Gerar casos de testes de unidade usando o Chat do GitHub Copilot
O Chat do GitHub Copilot pode ser usado para ajudar você a escrever casos de testes de unidade para sua estrutura de testes. O chat do Copilot reconhece a estrutura de testes e estilo de codificação e gera os snippets de código correspondentes. Você pode usar o Chat do Copilot para executar as seguintes tarefas:
Escreva casos de testes de unidade para a sua estrutura de testes com base no código aberto no editor ou no snippet de código que você realçar no editor. O Copilot identifica sua estrutura de testes e estilo de codificação e gera os snippets de código correspondentes.
Identifique e escreva casos de teste para casos de borda e condições de limite que podem ser difíceis de se identificar manualmente. Por exemplo, o Copilot pode sugerir casos de teste para lidar com erros, valores nulos ou tipos de entrada inesperados.
Também pode sugerir declarações que garantam que a função esteja funcionando corretamente, com base no contexto e na semântica do código. Por exemplo, gere declarações para garantir que os parâmetros de entrada de funções sejam válidos.
Pense nos seguintes cenários ao pedir ao Chat do Copilot para gerar casos de testes de unidade:
Se um único método estiver totalmente visível no editor, você poderá pedir ao Chat do Copilot para gerar um teste de unidade para o método digitando
Write a unit test for the method in the #editor.Se existirem vários métodos visíveis ou o método pretendido se estender além do que estiver visível no editor, selecione o código para o qual você quer gerar um teste de unidade e, em seguida, peça ao Copilot:
#selection write a unit test for this code.
Executar e gerenciar testes de unidade no Visual Studio Code
O Visual Studio Code e o Kit de Desenvolvimento em C# fornecem um conjunto avançado de recursos para ajudar você a executar e gerenciar testes de unidade para seus projetos em C#. Você pode executar/depurar casos de teste, ver resultados de testes e gerenciar casos de teste usando o Gerenciador de Testes.
Executar/depurar casos de teste: O Kit de Desenvolvimento em C# gera atalhos (o botão de reprodução verde) no lado esquerdo da definição de classe e método. Para executar os casos de teste visados, selecione o botão de reprodução verde. Você também pode clicar nele com o botão direito do mouse para ver mais opções.
Gerenciador de Testes: o Gerenciador de Testes é uma visualização em árvore para mostrar todos os casos de teste no seu workspace. Você pode selecionar o botão de béquer na barra de Atividades do lado esquerdo do Visual Studio Code para abri-lo. Você também pode executar/depurar seus casos de teste e ver seus resultados de testes nesse local.
Ver os resultados de testes: após executar/depurar os casos de teste, o estado dos itens de teste relacionados é atualizado tanto nas decorações do editor quanto no Gerenciador de Testes. Você pode selecionar os links no rastreamento de pilha para navegar até o local de origem.
Comandos de teste do Visual Studio Code: existem comandos de teste (por exemplo, Executar Todos os Testes) que podem ser encontrados pesquisando "Teste:" na Paleta de Comandos.
Configurações de teste do Visual Studio Code: existem configurações do Visual Studio Code específicas para testes que podem ser encontradas pesquisando "Testes" no editor de Configurações.
Resumo
O chat do GitHub Copilot pode ser usado para sugerir testes de unidade com base no código especificado. Por exemplo, se você especificar uma assinatura e um corpo do método, o chat do GitHub Copilot poderá sugerir casos de teste que abrangem os parâmetros de entrada e os valores de saída esperados. Quando o projeto de teste contiver alguns casos de teste, será possível usar o GitHub Copilot para gerar sugestões de conclusão de código de casos de teste adicionais. O uso de conclusões de linha de código para gerar testes de unidade reduz o processo repetitivo e ajuda a garantir que seu código seja testado minuciosamente.
O chat do GitHub Copilot usa o contexto e a semântica do código para sugerir declarações que garantam que a função esteja funcionando corretamente. Também ajuda a gravar casos de teste para casos de borda e condições delimitantes que podem ser difíceis de se identificar manualmente. Por exemplo, o chat do GitHub Copilot pode sugerir casos de teste para lidar com erros, valores nulos ou tipos de entrada inesperados.