Pular para o conteúdo
Skillpedia
Testes40 mil · #5205

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

https://github.com/github/awesome-copilot/blob/main/skills/javascript-typescript-jest/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/github/awesome-copilot/blob/main/skills/javascript-typescript-jest/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-jest

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/javascript-typescript-jest/SKILL.md -o SKILL.md
Conteú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.ts ou .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 describe aninhados 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() ou mockReturnValue() para definir o comportamento do mock
  • Reinicie os mocks entre os testes com jest.resetAllMocks() em afterEach

Testando Código Assíncrono

  • Sempre retorne promises ou use a sintaxe async/await nos testes
  • Use os matchers resolves/rejects para 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 userEvent em vez de fireEvent para 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

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas