java-junit
Ajuda seu agente a escrever testes unitários em Java com JUnit 5. Ele garante que os testes sejam eficientes e cubram diferentes cenários de uso.
O que ela faz
Esta ferramenta ajuda você a escrever testes para seu código Java usando JUnit 5. Ela ensina as melhores práticas para testar funcionalidades comuns e também testes que usam vários dados de entrada.
Quando usar
- ✓Quando você quer garantir que seu código Java funcione corretamente.
- ✓Ao aprender a escrever testes automatizados para seu projeto.
- ✓Para testar seu código com diferentes valores de entrada sem repetir o código.
Exemplo do que pedir para a IA
“Como posso escrever um teste para a função de soma que verifica se 2+2 é igual a 4?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
A ferramenta explica como organizar seus testes, usar anotações específicas do JUnit para configurar e executar testes, e como verificar se os resultados esperados são alcançados. Ela também mostra como usar diferentes fontes de dados para testar seu código com vários cenários.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add github/awesome-copilot --skill java-junitOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/java-junit/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Melhores Práticas do JUnit 5+
Seu objetivo é me ajudar a escrever testes unitários eficazes com JUnit 5, cobrindo abordagens de testes padrão e orientados por dados.
Configuração do Projeto
- Use uma estrutura de projeto Maven ou Gradle padrão.
- Coloque o código fonte de teste em
src/test/java. - Inclua dependências para
junit-jupiter-api,junit-jupiter-engineejunit-jupiter-paramspara testes parametrizados. - Use comandos da ferramenta de build para executar testes:
mvn testougradle test.
Estrutura de Teste
- As classes de teste devem ter o sufixo
Test, por exemplo,CalculatorTestpara uma classeCalculator. - Use
@Testpara métodos de teste. - Siga o padrão Arrange-Act-Assert (AAA).
- Nomeie os testes usando uma convenção descritiva, como
methodName_should_expectedBehavior_when_scenario. - Use
@BeforeEache@AfterEachpara configuração e limpeza por teste. - Use
@BeforeAlle@AfterAllpara configuração e limpeza por classe (devem ser métodos estáticos). - Use
@DisplayNamepara fornecer um nome legível para classes e métodos de teste.
Testes Padrão
- Mantenha os testes focados em um único comportamento.
- Evite testar múltiplas condições em um único método de teste.
- Torne os testes independentes e idempotentes (podem ser executados em qualquer ordem).
- Evite interdependências de testes.
Testes Orientados por Dados (Parametrizados)
- Use
@ParameterizedTestpara marcar um método como um teste parametrizado. - Use
@ValueSourcepara valores literais simples (strings, inteiros, etc.). - Use
@MethodSourcepara se referir a um método fábrica que fornece argumentos de teste como umStream,Collection, etc. - Use
@CsvSourcepara valores inline separados por vírgula. - Use
@CsvFileSourcepara usar um arquivo CSV do classpath. - Use
@EnumSourcepara usar constantes de enumeração.
Asserções
- Use os métodos estáticos de
org.junit.jupiter.api.Assertions(por exemplo,assertEquals,assertTrue,assertNotNull). - Para asserções mais fluentes e legíveis, considere usar uma biblioteca como AssertJ (
assertThat(...).is...). - Use
assertThrowsouassertDoesNotThrowpara testar exceções. - Agrupe asserções relacionadas com
assertAllpara garantir que todas as asserções sejam verificadas antes que o teste falhe. - Use mensagens descritivas nas asserções para fornecer clareza em caso de falha.
Mocking e Isolamento
- Use um framework de mocking como Mockito para criar objetos mock para dependências.
- Use as anotações
@Mocke@InjectMocksdo Mockito para simplificar a criação e injeção de mocks. - Use interfaces para facilitar o mocking.
Organização de Testes
- Agrupe testes por funcionalidade ou componente usando pacotes.
- Use
@Tagpara categorizar testes (por exemplo,@Tag("fast"),@Tag("integration")). - Use
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)e@Orderpara controlar a ordem de execução dos testes quando estritamente necessário. - Use
@Disabledpara pular temporariamente um método ou classe de teste, fornecendo um motivo. - Use
@Nestedpara agrupar testes em uma classe interna aninhada para melhor organização e estrutura.
Perguntas frequentes
O que é um teste de unidade?
É um teste que verifica uma pequena parte do seu código (geralmente uma função ou método) de forma isolada para garantir que ela funcione como esperado.
O que são testes 'data-driven'?
São testes que executam a mesma lógica de teste várias vezes, mas com diferentes conjuntos de dados de entrada e saída. Isso evita a repetição de código.
Preciso saber muito sobre Java para usar isso?
É útil ter um conhecimento básico de Java, mas a ferramenta foi projetada para explicar os conceitos de teste de forma clara, mesmo para iniciantes.
Detalhes
Descrição original do autor
Get best practices for JUnit 5 unit testing, including data-driven tests
repo: github/awesome-copilot
Popularidade
- Estrelas no GitHub
- 40 mil
- Posição no ranking
- #5199
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
acquire-codebase-knowledge
Ajuda seu agente a entender e documentar um projeto de código existente. É útil para novas pessoas entrarem no projeto ou para ter uma visão geral da arquitetura.
github/awesome-copilot
acreadiness-assess
Faz seu agente avaliar a prontidão de um projeto para IA e gerar um relatório. É útil para entender o quão bem um projeto está preparado para usar ferramentas de IA.
github/awesome-copilot
acreadiness-generate-instructions
Ajuda seu agente a criar instruções para ferramentas de IA baseadas em uma avaliação. É útil para melhorar a forma como a IA interage com o código e fecha lacunas identificadas.
github/awesome-copilot
acreadiness-policy
Faz seu agente ajudar a definir ou aplicar políticas para avaliação de projetos de IA. É útil para padronizar a forma como os projetos são avaliados e garantir conformidade.
github/awesome-copilot
Skills parecidas
cpp-testing
Faz seu agente escrever e melhorar testes para código C++. Ajuda a configurar ferramentas de teste e a corrigir erros.
affaan-m/ECC
csharp-testing
Ajuda seu agente a criar testes para código C# e .NET. Ele usa as melhores práticas para garantir que os testes sejam eficientes e confiáveis.
affaan-m/ECC
django-tdd
Faz seu agente aplicar estratégias de teste para Django com pytest-django e TDD. É útil para escrever testes robustos e garantir a qualidade do código, especialmente para APIs DRF.
affaan-m/ECC