Neste artigo, vamos criar e testar uma ToDoList simples utilizando o framework Jest. O foco será construir funções robustas com feedback claro e realizar testes automatizados para garantir que tudo funcione como esperado.
const list =[];// Adiciona um item na lista, evitando duplicatasfunctiontoDoList(item){if(!item ||typeof item !=='string')return"Item inválido";if(!list.includes(item)){ list.push(item);return"Item adicionado";}return"Este item já foi adicionado";}// Remove um item da listafunctionremoveItem(item){const index = list.indexOf(item);if(index >-1){ list.splice(index,1);return"Item removido";}return"Item não encontrado";}// Retorna todos os itens da listafunctiongetAllItems(){return[...list];}// Reseta a lista para fins de testefunctionresetList(){ list.length=0;}module.exports={ toDoList, removeItem, getAllItems, resetList };
Casos de Teste
tests/toDoList.test.js
const functions =require("../src/toDoList");beforeEach(()=>{ functions.resetList();// limpa a lista antes de cada teste});test("add new item",()=>{expect(functions.toDoList("Comprar pão")).toBe("Item adicionado");});test("do not add duplicate item",()=>{ functions.toDoList("Estudar Jest");expect(functions.toDoList("Estudar Jest")).toBe("Este item já foi adicionado");});test("reject invalid input",()=>{expect(functions.toDoList("")).toBe("Item inválido");expect(functions.toDoList(null)).toBe("Item inválido");expect(functions.toDoList(123)).toBe("Item inválido");});test("remove existing item",()=>{ functions.toDoList("Ir ao mercado");expect(functions.removeItem("Ir ao mercado")).toBe("Item removido");});test("fail to remove non-existent item",()=>{expect(functions.removeItem("Lavar o carro")).toBe("Item não encontrado");});test("get all items",()=>{ functions.toDoList("Ler livro"); functions.toDoList("Fazer exercícios");expect(functions.getAllItems()).toEqual(["Ler livro","Fazer exercícios"]);});
Saída esperada:
PASS tests/toDoList.test.js
√ add new item (3 ms) √ do not add duplicate item (1 ms) √ reject invalid input (1 ms) √ remove existing item
√ fail to remove non-existent item (1 ms) √ get all items (1 ms)Test Suites: 1 passed, 1 total
Tests: 6 passed, 6 total
Snapshots: 0 total
Time: 1.168 s
Conclusão
Criamos uma aplicação simples de lista de tarefas com feedback direto e testável. Com Jest, conseguimos validar cada funcionalidade individualmente e garantir a confiabilidade do código.
Este tipo de exemplo é ideal para iniciantes que querem entender na prática como testar suas funções JavaScript.
Para rodar os testes
No terminal, execute:
npminstallnpmtest
Tags
Projetos
Testes
Artigos Relacionados
Projetos
Testes
Validador de CPF com Jest: Mockando uma API e Testando na Prática
Testar código com Jest vai além de verificar se uma função retorna o valor esperado. Podemos simular APIs, validar dados reais e garantir que nosso código funciona mesmo com entradas externas. Neste post, vamos criar um exemplo prático: **uma API falsa que retorna CPFs** e uma função que valida se esse CPF é verdadeiro. Tudo isso com testes automatizados.
16 de mai. de 20257 min de leitura
Projetos
Testes
Criando uma API Mockada de Usuários com Testes em Jest
Neste post, vamos criar uma API mockada de usuários usando apenas JavaScript puro, sem frameworks como Express, e testar seus endpoints com Jest. Essa prática ajuda a entender como simular comportamentos de APIs e validar as respostas esperadas.