Veja o suporte ao Visual Studio Code para testes unitários

Concluído

Antes de poderes gerar testes unitários com o GitHub Copilot, o teu projeto precisa de um framework de testes funcional e de uma forma de executar testes dentro do Visual Studio Code. O Visual Studio Code, o SDK .NET e a extensão C# Dev Kit fornecem o ambiente que aloja os seus testes unitários, enquanto o GitHub Copilot foca-se em gerar e refinar o código de teste. Compreender o ambiente subjacente torna o fluxo de trabalho do GitHub Copilot muito mais fácil de seguir.

Esta unidade examina as funcionalidades do Visual Studio Code e as ferramentas C# que suportam testes unitários. As unidades posteriores focam-se em como o GitHub Copilot gera e mantém o código de teste que corre neste ambiente.

Suporte ao Visual Studio Code para testes unitários

Para criar e executar testes unitários em C# no Visual Studio Code, precisa dos seguintes recursos:

  • O SDK .NET 8.0 ou posterior.
  • A extensão C# Dev Kit para Visual Studio Code.
  • Um pacote de estrutura de teste adicionado ao seu projeto.

Suporte do C# Dev Kit para testes de unidade

A extensão C# Dev Kit fornece as funcionalidades de teste que utiliza ao longo deste módulo:

  • Explorador de Testes: Uma vista em árvore que mostra todos os casos de teste no seu espaço de trabalho. Pode abrir o Explorador de Testes selecionando o ícone do béquer na barra de atividades.
  • Executar/depurar casos de teste: Botões verdes de execução aparecem no editor ao lado de cada classe e de cada método de teste. Clique com o botão direito num botão de play para ver mais opções.
  • Ver resultados de teste: Após uma execução de teste, o resultado é refletido nas decorações do editor e no Explorador de Testes. Selecionar um link num rastreio de pilha navega até à localização de origem.
  • Comandos de teste: Comandos semelhantes Test: Run All Tests estão disponíveis na Paleta de Comandos. Procure Test: para ver a lista completa.
  • Definições de teste: As definições que controlam a descoberta de testes e o comportamento em tempo de execução estão disponíveis no editor de Definições. Procure Testing para ver as opções disponíveis.

O C# Dev Kit suporta as seguintes estruturas de teste:

  • xUnit
  • NUnit
  • MSTest

Crie um projeto de teste usando a Paleta de Comandos

A Paleta de Comandos no Visual Studio Code fornece a forma mais fácil de criar um projeto de teste que utiliza um framework suportado. Você pode abrir a Paleta de Comandos das seguintes maneiras:

  • Pressione as teclas Ctrl + Shift + P (Windows/Linux) ou Cmd + Shift + P (macOS).
  • Abre o menu Visualizar e depois seleciona Paleta de Comandos.
  • Abra a vista Explorador de Soluções, clique com o botão direito na pasta da solução e depois selecione Novo Projeto. Esta opção abre a Paleta de Comandos com o .NET: New Project... comando já selecionado.

As secções seguintes mostram como criar um projeto de teste para cada framework suportado.

xUnit

Abra a Paleta de Comandos e selecione .NET: New Project... , selecione xUnit Test Project e depois forneça um nome e localização para o novo project. Este comando cria um projeto que usa xUnit como biblioteca de testes e configura o executor de testes adicionando os seguintes <PackageReference /> elementos ao ficheiro do projeto:

  • Microsoft.NET.Test.Sdk
  • xUnit
  • xunit.runner.visualstudio
  • coverlet.collector

A partir do Terminal integrado, pode adicionar uma referência do projeto de teste ao projeto em teste:

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: New Project... , selecione NUnit3 Test Project e depois forneça um nome e localização para o novo project. Este comando cria um projeto que utiliza o NUnit como biblioteca de teste e adiciona os seguintes <PackageReference /> elementos ao ficheiro do projeto:

  • Microsoft.NET.Test.Sdk
  • NUnit
  • NUnit3TestAdapter

Adicione uma referência ao projeto em teste a partir do Terminal:

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: New Project... , selecione MSTest Test Project e depois forneça um nome e localização para o novo project. Este comando adiciona os seguintes <PackageReference /> elementos ao ficheiro do projeto:

  • Microsoft.NET.Test.Sdk
  • MSTest.TestAdapter
  • MSTest.TestFramework
  • coverlet.collector

Adicione uma referência ao projeto em teste a partir do Terminal:

dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]

Executar e gerir testes unitários no Visual Studio Code

Depois de existir um projeto de teste, o Visual Studio Code e o C# Dev Kit dão-te várias formas de correr e gerir testes:

  • Executar/Depurar no editor: Selecione o botão verde play ao lado de uma classe ou método para executar esse alvo. Clique com o botão direito no botão Reproduzir para ver opções como Run Test e Debug Test.
  • Explorador de Testes: Execute ou depure testes individuais, grupos ou o conjunto completo a partir da vista em árvore. Os resultados dos testes, incluindo ícones de aprovação/reprovação e durações, aparecem ao lado de cada item.
  • Ver resultados do teste: As decorações do editor e o Explorador de Testes refletem o estado atual de cada teste após uma execução. Selecione links nos rastreios da pilha para ir para a linha com falha.
  • Comandos de teste: Use comandos como Test: Run All Tests, Test: Debug Failed Tests, e Test: Show Output da Paleta de Comandos.
  • Definições de teste: Procure Testing no editor de Definições para configurar comportamentos, como auto-executar o save ou formatar o resultado do teste.

O fluxo de trabalho de testes unitários com o GitHub Copilot

Quando se combina o Visual Studio Code com o GitHub Copilot, o processo de testes unitários divide-se em três fases:

  1. Configurar o ambiente: Use o Visual Studio Code, o SDK .NET e o Kit de Desenvolvimento C# para criar um projeto de teste e referenciar o projeto em teste. Completaste esta fase nesta unidade.
  2. Gerar código de teste: Use GitHub Copilot na vista Chat para gerar testes unitários para o seu código de aplicação. As unidades seguintes cobrem esta fase.
  3. Executar e manter testes: Use o Explorador de Testes e o Kit de Desenvolvimento C# para executar testes, depois use GitHub Copilot para estender a cobertura e corrigir testes falhados.

As restantes unidades focam-se nas ferramentas GitHub Copilot que suportam as fases 2 e 3.