[Python] Mock response di un api server esterno

Marco Giusti marco.giusti a posteo.de
Sab 1 Ott 2016 08:44:37 CEST


On Fri, Sep 30 2016, Karim wrote:
>2016-09-24 22:43 GMT+10:00 Marco Giusti <marco.giusti a posteo.de>:
>
>> La seconda soluzione è esattamente la stessa alla quale sei arrivato tu.
>> Mi sono creato un "database" con le fixture e di volta in volta andavo a
>> pescare quella necessarie. Questa soluzione è piuttosto potente ma
>> presenta delle limitazioni. Ne cito due, una dipendente da `responses` e
>> l'altra indipendente dalla libreria che utilizzi.
>>
>> La prima è che `responses` non fà match né sugli header, né sul body.
>> Questo è un peccato perché per esempio per testare l'autenticazione era
>> necessario crearsi un secondo mock. La seconda limitazione è che le
>> richieste devono essere idempotenti, ed questa sembrava essere piuttosto
>> noiosa. Immagino che una possibile sia creare un qualcosa di ibrido.
>>
>
>Per ora ho creato qualcosa che mi permette di usare le fixture (sia da
>stringa che da .json file) e di modificarle on fly come se fosse un
>dictionary. Per ora sembra funzionare, fammi scrivere una ventina di
>test e poi vediamo se e' anche pratico :-)

L'idea di questo tipo di mock è che i test non devono essere
scritti ma solo "eseguiti", ovvero non volevamo scrivere a
mano i test ma usare un servizio per effettuare delle
richieste HTTP e salvare i risultati per poi importarli nel
mock. Anche senza servizio, scivere uno script che ti salva
i risultati su di un file, è piuttosto banale.

Ciao
Marco


Maggiori informazioni sulla lista Python