Sobre esta ferramenta
Transformar uma resposta de exemplo em assertions é trabalho mecânico: percorrer o JSON, escrever uma expectativa por campo, acertar a sintaxe de acesso para chaves com hífens ou pontos e usar o matcher certo para nulls e arrays. Este gerador lista todos os campos da resposta (arrays uma vez, para checar o tamanho, e pelo primeiro elemento), permite marcar os que importam e gera código para Playwright (await expect(response).toBeOK() e expect(body.user.id).toBe(42)), Postman (pm.test com pm.expect), REST Assured (then().statusCode(200).body("user.id", equalTo(42))) e Cypress (cy.request com .its()). Escolha valores exatos para campos estáveis ou checagens só de tipo para valores que mudam entre execuções, como ids e timestamps.
Como usar
- Cole uma resposta JSON de exemplo e defina o método, a URL e o status esperado.
- Marque os campos a validar. Os dez primeiros vêm selecionados; use Todos ou Nenhum para mudar isso rapidamente.
- Escolha um framework e assertions de valor exato ou só de tipo e copie o código gerado para o seu teste.
Perguntas frequentes: Gerador de assertions de API
Devo validar valores exatos ou só tipos?
Valide valores exatos para campos que o seu teste controla ou que são estáveis (status, role, moeda). Use checagens só de tipo para valores gerados ou dependentes de tempo (ids, timestamps, tokens); caso contrário, o teste quebra a cada execução.
Por que o REST Assured compara decimais como 12.5f?
Por padrão, o JsonPath do REST Assured retorna decimais como Float, e o equalTo(12.5) do Hamcrest com um Double não casaria com um Float. Se o seu projeto configura o JsonPathConfig para retornar Double ou BigDecimal, ajuste o literal.
Por que o código Cypress adiciona failOnStatusCode: false?
Por padrão, cy.request reprova o teste em respostas 4xx e 5xx. Quando você espera um status de erro, a opção deixa a requisição concluir para que você valide o status e o body.