Questo è qualcosa che mi preoccupa da un po 'di tempo. Vale davvero la pena testare l'unità di un client API?
Supponiamo che tu stia creando una piccola classe per sottrarre le chiamate a un'API REST di petshop. Il negozio di animali domestici è un'API molto semplice e ha una serie di metodi di base:
listProducts()
getProductDetails(ProductID)
addProduct(...)
removeProduct(ProductID)
Nel testare questo, dovremmo creare un servizio simulato o deridere le risposte. Ma questo sembra eccessivo; Capisco che vogliamo assicurarci che i nostri metodi non smettano di funzionare attraverso errori di battitura / di sintassi, ma dal momento che stiamo scrivendo funzioni che chiamano metodi remoti e quindi stiamo creando risposte false da quei metodi remoti, sembra uno spreco di sforzi e che stiamo testando qualcosa che non può davvero fallire. Peggio ancora, se il metodo remoto cambia, i nostri test unitari passeranno mentre l'uso della produzione fallisce.
Sono abbastanza sicuro che mi manchi qualcosa, o ho la parte sbagliata del bastone, o non vedo il legno per gli alberi. Qualcuno può mettermi sulla strada giusta?