Informazioni sullo strumento
Trasformare una risposta d’esempio in asserzioni è un lavoro meccanico: percorrere il JSON, scrivere un’aspettativa per campo, usare la sintassi d’accesso giusta per chiavi con trattini o punti e il matcher corretto per null e array. Questo builder elenca ogni campo della risposta (gli array una volta per il controllo della lunghezza, poi tramite il primo elemento), ti fa spuntare quelli importanti e genera codice per Playwright (await expect(response).toBeOK() ed expect(body.user.id).toBe(42)), Postman (pm.test con pm.expect), REST Assured (then().statusCode(200).body("user.id", equalTo(42))) e Cypress (cy.request con .its()). Scegli valori esatti per i campi stabili o controlli solo sul tipo per i valori che cambiano tra un’esecuzione e l’altra, come id e timestamp.
Come si usa
- Incolla una risposta JSON d’esempio e imposta metodo, URL e status atteso.
- Spunta i campi da verificare. I primi dieci sono selezionati per impostazione predefinita; usa All o None per cambiare rapidamente.
- Scegli un framework e asserzioni sul valore esatto o solo sul tipo, poi copia il codice generato nel tuo test.
API Assertion Builder: domande frequenti
Meglio verificare valori esatti o solo tipi?
Verifica i valori esatti per i campi che il test controlla o che sono stabili (status, ruolo, valuta). Usa controlli solo sul tipo per valori generati o dipendenti dal tempo (id, timestamp, token), altrimenti il test si rompe a ogni esecuzione.
Perché REST Assured confronta i decimali come 12.5f?
Per impostazione predefinita il JsonPath di REST Assured restituisce i decimali come Float, e equalTo(12.5) di Hamcrest con un Double non corrisponderebbe a un Float. Se il tuo progetto configura JsonPathConfig per restituire Double o BigDecimal, cambia il letterale di conseguenza.
Perché il codice Cypress aggiunge failOnStatusCode: false?
cy.request fa fallire il test con risposte 4xx e 5xx per impostazione predefinita. Quando ti aspetti uno status di errore, questa opzione lascia completare la richiesta così puoi fare asserzioni su status e body.