Mocking di servizi Web di terze parti

2

Sto lavorando a un progetto per creare una libreria wrapper che verrà utilizzata per interagire con un servizio Web fornito dal team IT del cliente. Il motivo di questa libreria è che interagiamo con questo servizio su più progetti e volevamo creare una singola libreria da interfacciare con il servizio.

Sto pianificando come strutturare le classi della libreria in modo da poter astrarre il servizio web e inserire una simulazione durante il test dell'unità. Tuttavia, da quello che ho letto, se voglio usare DI, deve essere impostato dal progetto usando la mia libreria e il resto del team preferirebbe se non fosse necessario apportare troppe modifiche ai progetti esistenti, quindi Sto cercando di creare questo in modo che il progetto esistente non abbia bisogno di usare DI per questa libreria. Non voglio che il progetto esistente debba occuparsi del passaggio della libreria a un'istanza del servizio web.

Un altro pensiero che ho avuto è stato usare un pattern Factory per creare istanze delle mie classi. Quello che vorrei fare è avere un costruttore con parametri regolari e un costruttore con un parametro per un oggetto mock. Se viene chiamato il primo costruttore, utilizzerà il servizio web. Se viene chiamato il secondo costruttore, verrà utilizzato il servizio Web fittato.

L'implementazione di fabbrica che ho descritto non mi sembra il modo corretto di fare ciò che voglio. C'è un modo per fare quello che voglio con un modo più diverso di farlo?

    
posta DFord 09.03.2016 - 21:23
fonte

0 risposte