Sto cercando di capire come scrivere i miei casi di test per un servizio che sto per scrivere.Groovy HTTPBuilder che deride la risposta
Il servizio utilizzerà HTTPBuilder per richiedere una risposta da alcuni URL. La richiesta HTTPBuilder deve solo controllare la risposta per un successo o un fallimento. L'implementazione del servizio sarà essere qualcosa di semplice come:
boolean isOk() {
httpBuilder.request(GET) {
response.success = { return true }
response.failure = { return false }
}
}
Quindi, voglio essere in grado di prendere in giro il HTTPBuilder in modo da poter impostare la risposta a essere sia successo/insuccesso nel mio test in modo da poter affermare che Il metodo isOk
del mio servizio restituisce True quando la risposta è positiva e False, quando la risposta è un errore.
Qualcuno può aiutare con come posso prendere in giro la richiesta HTTPBuilder e impostare la risposta in un GroovyTestCase?
Grazie per la risposta. Non capisco cosa imposterà 'risultato' su vero/falso. Inoltre non è più simile a un mozzicone di un finto? – C0deAttack
È necessario impostare il risultato da soli quando si imposta il test. Per esempio. 'new MockHttpBuilder (result: true)'. Ho aggiunto un'alternativa che usa il mocking groovy. – ataylor
La risposta di Ataylor è buona, mi è venuta quasi la stessa implementazione, tranne che ho impostato direttamente lo stato della risposta e quindi l'ho utilizzato per eseguire la chiusura corretta dalla mappatura. Comunque questo è veramente Stub beffardo. Penso che l'approccio corretto sia quello di deridere il cliente che dà la risposta. – Gepsens