Risposta API come input per Karate Mock / Test Double

Oct 08 2020

Quale sarebbe il modo migliore per acquisire le risposte dalle API e usarle come input per la simulazione di Karate? Questo è integrato nella struttura del Karate? Eventuali documentazioni o suggerimenti saranno apprezzati.

Ad alto livello, ecco cosa voglio costruire.

Genera dati

  1. Un lavoro pianificato che può eseguire una serie di endpoint API e catturarne le risposte.
  2. Risposte da salvare come file json per ciascuno degli endpoint.
  3. Crea un artefatto e pubblicalo in un repository, in modo che sia disponibile tra i team.

Consuma i dati come Karate Mock / Test Double

  1. Lo sviluppatore scarica l'artefatto (file json).
  2. Avvia il server fittizio con i file delle caratteristiche.
  3. Gli scenari nei file delle funzionalità utilizzano il file json per produrre la risposta fittizia.

Nota: nuovo di zecca nel karate e attualmente impara / esplora le sue offerte e capacità.

Grazie.

Risposte

PeterThomas Oct 08 2020 at 13:12

Questa è una domanda molto aperta. Puoi fare tutto questo ma devi scrivere del codice. Il replay dei record non è integrato nel Karate. Ma sì, dovresti essere in grado di scrivere del codice personalizzato per salvare le risposte a un file, ci sono alcuni hook di intercettazione che puoi guardare: Karate: c'è un hook di richiesta http nel karate, che viene chiamato automaticamente dopo ogni chiamata API, e di chi posso modificare il comportamento?

E poi puoi scrivere alcuni mock che leggono alcuni file JSON locali e modellano le risposte. Avrai davvero bisogno di fare un po 'di avviamento sul framework. Normalmente le squadre non si lanciano direttamente nella beffa come sembra tu stia facendo. Ecco i documenti:https://github.com/intuit/karate/tree/master/karate-netty