DEV Community

Cover image for TDD na prática - JavaScript/TypeScript
Vitor Rios
Vitor Rios

Posted on

2 1

TDD na prática - JavaScript/TypeScript

Introdução

Test-Driven Development (TDD) é uma metodologia de desenvolvimento de software que enfatiza a escrita de testes antes do código de produção. Este método incentiva uma abordagem de design cuidadoso e aumenta a confiabilidade do software.

Conceito de TDD

  1. Escreva um Teste: Primeiro, escreva um teste que define uma função ou melhorias de uma função.
  2. Faça o Teste Falhar: Execute o teste e veja-o falhar. Isso confirma que o teste está detectando a ausência da nova funcionalidade.
  3. Escreva o Código: Escreva o código necessário para passar no teste.
  4. Execute o Teste Novamente: Execute os testes e veja-os passar.
  5. Refatore o Código: Melhore o código mantendo-o passando nos testes.

Benefícios do TDD

  • Qualidade do Código: Promove um código mais limpo e de alta qualidade.
  • Manutenção: Facilita a manutenção e a refatoração do código.
  • Redução de Bugs: Diminui significativamente a probabilidade de bugs.
  • Design de Software Melhorado: Encoraja a pensar na funcionalidade antes da implementação.

Exemplo de TDD com JavaScript/TypeScript

Ambiente de Teste

Utilizaremos Jest, uma framework de teste para JavaScript.

Instalação do Jest

npm install --save-dev jest @types/jest ts-jest typescript
Enter fullscreen mode Exit fullscreen mode

Desenvolvendo um Teste

Suponha que queremos desenvolver uma função que soma dois números.

Escreva o Teste Primeiro

// sum.test.ts
import { sum } from './sum';

test('adds 1 + 2 to equal 3', () => {
    expect(sum(1, 2)).toBe(3);
});
Enter fullscreen mode Exit fullscreen mode

Execute o Teste

Execute o teste com npm test e veja-o falhar, pois a função sum ainda não existe.

Implemente a Função

// sum.ts
export const sum = (a: number, b: number): number => {
    return a + b;
};
Enter fullscreen mode Exit fullscreen mode

Refatore o Teste

Após passar no teste, você pode refatorar se necessário, garantindo que o teste ainda passe.

Conclusão

TDD é uma prática poderosa que pode melhorar significativamente a qualidade e a confiabilidade do código em projetos JavaScript e TypeScript. Embora possa parecer mais lento no início, os benefícios a longo prazo em termos de manutenção, redução de bugs e design de software são inestimáveis.

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

Top comments (0)

nextjs tutorial video

Youtube Tutorial Series 📺

So you built a Next.js app, but you need a clear view of the entire operation flow to be able to identify performance bottlenecks before you launch. But how do you get started? Get the essentials on tracing for Next.js from @nikolovlazar in this video series 👀

Watch the Youtube series

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay