0%
Testes unitários com Vitest

Testes unitários com Vitest

Um teste que não se entende em dez segundos será apagado em vez de corrigido

10-15 min

Testes unitários com Vitest

Você assume um projeto abandonado há oito meses. A suíte de testes tem 340 arquivos, e 12 estão vermelhos. Você abre o primeiro: ele se chama test 4, constrói um objeto de 60 linhas em um beforeEach compartilhado por 18 testes, e sua asserção final compara um objeto completo com um literal fixo. A mensagem de falha aponta uma diferença em um campo updatedAt. Você não sabe nem o que esse teste deveria garantir, nem se o produto está quebrado. Você o desativa e nunca mais o reativa.

Esse cenário não tem nada de excepcional: é a forma normal de morte de uma suíte de testes. O custo real de um teste não está na escrita, mas no momento em que ele falha, seis meses depois, diante de alguém que não estava lá. Um bom teste se lê como uma frase, falha com uma mensagem que aponta a causa e não depende de nenhum contexto compartilhado que seja preciso reconstituir mentalmente. O Vitest não fará esse trabalho por você, mas elimina atrito suficiente — inicialização instantânea, modo watch direcionado, mensagens de diferença legíveis — para que você não tenha mais desculpa.

Comentários

Os comentários são alimentados pelo GitHub Discussions

Conecte-se com o GitHub para participar da discussão

Link copiado!