Blog Post

Desenvolvedores BR
3 MIN READ

Crie Testes Unitários e Documentação com GitHub Copilot

cynthiazanoni's avatar
cynthiazanoni
Icon for Microsoft rankMicrosoft
Feb 24, 2025

Aprenda a usar essa o GitHub Copilot para criar documentação técnica e testes unitários, com exemplos práticos de projetos em .NET e Python.

Em um ambiente de desenvolvimento ágil, a eficiência é crucial. Durante a sessão "Crie Testes Unitários e Documentação com GitHub Copilot" do GitHub Copilot Bootcamp Brasil (assista as gravações), o especialista Rogério Rodrigues demonstrou, em tempo real, como a IA do GitHub Copilot atua como um "copiloto" para simplificar processos complexos.

Este artigo sintetiza as principais técnicas apresentadas, focando nas funcionalidades que automatizam a geração de documentaçãocriam testes unitários adaptáveis e produzem diagramas técnicos sem esforço manual.

 

O que você vai aprender nessa sessão:

Geração de Documentação Contextualizada

Rogério iniciou com um projeto .NET que consumia dados de uma API de previsão do tempo. Selecionando o método WeatherApiClient, ele acionou o comando "Generate Docs" diretamente no Visual Studio Code. Em segundos, o Copilot gerou:

  • Uma docstring detalhada com parâmetros (city: str) e tipo de retorno (dict)
  • Explicações claras sobre o fluxo de consumo da API meteorológica
  • Sugestões de tratamento de erros específicos para APIs REST

"O segredo está em como o Copilot entende o contexto", explicou Rogério. "Ele não apenas descreve o que o código faz, mas antecipa necessidades de documentação técnica que desenvolvedores júnior poderiam esquecer."

Um ponto interessante foi a sugestão do GitHub Copilot para gestão de frota:

class VehicleRental:  
    """Sistema de gestão de aluguéis com validação de pagamentos"""  

Ao usar o prompt "gere um README.md com instruções de execução", o Copilot estruturou:

  • Lista de dependências com versões específicas
  • Comandos de instalação otimizados para virtualenv
  • Exemplos de uso da classe PaymentValidator com cenários reais

Testes Unitários

A magia aconteceu quando Rogério alternou entre frameworks de teste sem reescrever código:

Cenário .NET/MSTest:

  1. Selecionou o método PriceValidator
  2. Prompt: "Crie testes com dados mock para valores negativos e acima de R$1000"
  3. Copilot gerou 5 casos de teste com [DataRow] e Assert.ThrowsException

Resultado: Ao pedir "Reescreva usando xUnit", o Copilot:

  • Substituiu [TestMethod] por [Fact]
  • Reformulou assertions usando Should().Throw<>() (FluentAssertions)
  • Adicionou comentários sobre paralelismo de testes

Cenário Python/unittest:
Para a função validate_price, o Copilot propôs:

def test_negative_price_raises_value_error(self):  
    with self.assertRaisesRegex(ValueError, "maior que zero"):  
        validate_price(-150)  

"Notem como ele incluiu validação de mensagem de erro – detalhe que 80% dos iniciantes esquecem", destacou Rogério.

Diagramas

Com a extensão Mermaid, Rogério transformou comandos em artefatos técnicos:

Prompt no VS Code:
@mermaid Crie diagrama de classes para RentalService, Vehicle, Payment

Resultado em 15s:

classDiagram  
    Vehicle <|-- Car  
    Vehicle : +String license_plate  
    Vehicle : +register_rental()  
    Payment : +process_credit_card()  
    RentalService : +validate_availability()  

"Esses diagramas não são estáticos", explicou. "Atualizam-se automaticamente quando o código muda – crucial para microservices com dezenas de componentes."

Próximos passos

Assista as gravações do GitHub Copilot Bootcamp disponíveis em português, comece a utilizar o GitHub Copilot gratuito e explore os módulos do Microsoft Learn:

Updated Feb 24, 2025
Version 2.0
No CommentsBe the first to comment