javascript-typescript-jest
Ensina seu agente a escrever testes eficientes em JavaScript e TypeScript usando Jest. Ajuda a garantir a qualidade e o bom funcionamento do código.
O que ela faz
Esta ferramenta ajuda a criar testes para seu código JavaScript e TypeScript usando a biblioteca Jest. Ela ensina as melhores práticas para organizar seus testes, simular partes do código que dependem de outras (como APIs externas) e verificar se tudo funciona como esperado.
Quando usar
- ✓Quando você escreve código em JavaScript ou TypeScript.
- ✓Para garantir que seu código funcione corretamente após alterações.
- ✓Para simular dependências externas e testar apenas sua lógica.
Exemplo do que pedir para a IA
“Como posso testar uma função que faz uma chamada para uma API externa?”
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 organiza seus testes em arquivos específicos e usa comandos como `describe` e `it` para estruturar os testes. Para simular dependências, ela usa funções como `jest.mock` e `jest.spyOn` para criar versões falsas dessas dependências, permitindo que você teste seu código isoladamente.
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 javascript-typescript-jestOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/javascript-typescript-jest/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.
Estrutura de Testes
- Nomeie arquivos de teste com o sufixo
.test.tsou.test.js - Coloque os arquivos de teste ao lado do código que eles testam ou em um diretório dedicado
__tests__ - Use nomes de teste descritivos que expliquem o comportamento esperado
- Use blocos
describeaninhados para organizar testes relacionados - Siga o padrão:
describe('Component/Function/Class', () => { it('should do something', () => {}) })
Mocking Eficaz
- Simule dependências externas (APIs, bancos de dados, etc.) para isolar seus testes
- Use
jest.mock()para mocks em nível de módulo - Use
jest.spyOn()para mocks de funções específicas - Use
mockImplementation()oumockReturnValue()para definir o comportamento do mock - Reinicie os mocks entre os testes com
jest.resetAllMocks()emafterEach
Testando Código Assíncrono
- Sempre retorne promises ou use a sintaxe
async/awaitnos testes - Use os matchers
resolves/rejectspara promises - Defina timeouts apropriados para testes lentos com
jest.setTimeout()
Testes de Snapshot
- Use testes de snapshot para componentes de UI ou objetos complexos que mudam com pouca frequência
- Mantenha os snapshots pequenos e focados
- Revise as alterações dos snapshots cuidadosamente antes de commitar
Testando Componentes React
- Use React Testing Library em vez de Enzyme para testar componentes
- Teste o comportamento do usuário e a acessibilidade do componente
- Consulte elementos por papéis de acessibilidade, rótulos ou conteúdo de texto
- Use
userEventem vez defireEventpara interações de usuário mais realistas
Matchers Comuns do Jest
- Básicos:
expect(value).toBe(expected),expect(value).toEqual(expected) - Veracidade:
expect(value).toBeTruthy(),expect(value).toBeFalsy() - Números:
expect(value).toBeGreaterThan(3),expect(value).toBeLessThanOrEqual(3) - Strings:
expect(value).toMatch(/pattern/),expect(value).toContain('substring') - Arrays:
expect(array).toContain(item),expect(array).toHaveLength(3) - Objetos:
expect(object).toHaveProperty('key', value) - Exceções:
expect(fn).toThrow(),expect(fn).toThrow(Error) - Funções de Mock:
expect(mockFn).toHaveBeenCalled(),expect(mockFn).toHaveBeenCalledWith(arg1, arg2)
Perguntas frequentes
O que são 'mocks'?
Mocks são versões falsas de partes do seu código (como funções ou módulos) que você usa durante os testes. Eles permitem que você controle o comportamento dessas partes e teste seu código sem depender de sistemas externos ou complexos.
Por que usar testes?
Testes ajudam a garantir que seu código está funcionando como esperado e a detectar erros rapidamente, especialmente quando você faz alterações. Eles dão mais confiança de que o código não vai quebrar.
O que é 'snapshot testing'?
Snapshot testing é uma técnica para testar interfaces de usuário ou estruturas de dados complexas. Ele tira uma 'foto' do resultado esperado e, em testes futuros, compara o resultado atual com essa foto para ver se houve mudanças inesperadas.
Detalhes
Descrição original do autor
Best practices for writing JavaScript/TypeScript tests using Jest, including mocking strategies, test structure, and common patterns.
repo: github/awesome-copilot
Popularidade
- Estrelas no GitHub
- 40 mil
- Posição no ranking
- #5205
- 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