Ho un po 'di esperienza con test unitari e mock. Nella mia esperienza limitata, userei i due per testare un livello di servizio, ad esempio, il mocking (stubbing?) Fuori dal database per eliminare le dipendenze e concentrarsi sul test delle unità della logica aziendale.API REST test unità
Ora sto creando un'implementazione dell'API wrapper che utilizzerà i servizi Web RESTful. La struttura del risultato json inviata a me è fuori dalle mie mani, ad esempio: Twitter. Sto semplicemente costruendo il client per interfacciarsi con la loro API. Non sono sicuro su come procedere con l'unit test del risultato JSON. In questo momento sto solo prendendo in giro il risultato della richiesta http con una struttura statica di JSON. Questo assicura che la deserializzazione di JSON per i miei pojos sia corretta, ma sono preoccupato per i cambiamenti API. Cosa succede se la struttura api cambia? Cosa succede se l'API attualmente restituisce "titolo" oggi e "groovy_title" domani? Il mio test unitario non l'avrebbe capito.
Dalla mia comprensione, tuttavia, i test di unità dovrebbero essere rapidi. In precedenza avrei deriso il db e ora sto prendendo in giro http, ma dovrei effettivamente usare l'implementazione concreta http, così mi viene immediatamente notificato un cambio di API? O c'è un modo migliore per affrontare questa situazione?