Thiago Lopes Silva
2 min readDec 22, 2021

Configurando uma pré-rotina que será executada antes da suite de testes com o jest framework

Recife/PE

Olá pessoal, recentemente em um projeto pessoal eu precisei configurar uma rotina específica para rodar sempre antes de cada teste usando o framework jest e acabei achando uma configuração nativa bem interessante que eu gostaria de compartilhar com vocês neste post rápido.

Atenção: Este post tem como premissa que você tenha um conhecimento básico no framework jest.

  1. Configurando o arquivo jest.setup.ts

Este arquivo será responsável por executar uma rotina antes da execução de cada teste. Algumas sugestões que você pode usar.

  • Limpar o cache;
  • Truncar os dados de uma tabela/banco de dados;
  • Importar alguma library que ativa o “reflection” no typescript;
  • etc…

Para tal, o que você precisa fazer é criar um arquivo chamado jest.setup.ts na raiz do seu projeto e colocar a sua regra de negócio que vai ser executada.

Para exemplificar, o meu contexto foi voltado para importar por padrão alguma library que ativasse o reflection antes da execução de cada teste unitário. Sendo este um fato necessário para da library tsyringe que esta sendo usada no meu projeto, conforme será mostrado abaixo.

import 'reflect-metadata';

2. Configurando a execução do teste

Após ter criado o arquivo jest.setup.ts com a rotina a ser executada, o que você vai precisar fazer é configurar o framework jest para chama-lo através da configuração do arquivo chamado jest.config.ts e adicionar a linha abaixo.

setupFilesAfterEnv: ['<rootDir>/jest.setup.ts'],

Com isso, após você configurar a linha acima, toda vez que um novo arquivo de teste for executado o nosso arquivo jest.setup.ts será chamado e executado.

Caso deseje analisar toda a configuração do arquivo jest.config.ts, eu convido-o a visitar o meu repo abaixo.

3. Executando os testes

Por fim, para executar os testes tudo o que você precisa fazer é executar o comando:

./node_modules/.bin/jest

Que terá um output parecido com o abaixo:

@tiktaktoe/core: Test Suites: 12 passed, 12 total
@tiktaktoe/core: Tests: 46 passed, 46 total
@tiktaktoe/core: Snapshots: 0 total
@tiktaktoe/core: Time: 7.925 s
@tiktaktoe/core: Ran all test suites.

Obrigado pela sua leitura e eu espero que este post tenha ajudado você a entender um pouco sobre como configurar e executar uma rotina antes da execução de cada arquivo de teste de sua suite.

Então, se você gostou não esqueça de apertar no 👏 e compartilhar