Questo è qualcosa che mi ha turbato per un po 'di tempo. Vale veramente la pena testare unitamente un client API?
Diciamo che stai creando una piccola classe per astrarre le chiamate a un'API REST di petshop. Il petshop è un'API molto semplice e ha un insieme di metodi di base:
-
listProducts()
-
getProductDetails(ProductID)
-
addProduct(...)
-
removeProduct(ProductID)
Nel test di questo, dovremmo creare un servizio di simulazione o prendere in giro le risposte. Ma sembra eccessivo; Capisco che vogliamo essere sicuri che i nostri metodi non smettano di funzionare con errori di typo / sintassi, ma dal momento che stiamo scrivendo funzioni che chiamano metodi remoti e quindi stiamo creando risposte false da quei metodi remoti, sembra che uno spreco di sforzi e che stiamo testando qualcosa che non può davvero fallire. Peggio ancora, se il metodo remoto cambia i nostri test di unità 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?