Isso é algo que me preocupa há um tempo. Realmente vale a pena testar uma unidade de um cliente de API?
Digamos que você esteja criando uma classe pequena para abstrair as chamadas para uma API REST da loja de animais de estimação. A loja de animais de estimação é uma API muito simples e possui um conjunto básico de métodos:
listProducts()
getProductDetails(ProductID)
addProduct(...)
removeProduct(ProductID)
Ao testar isso, teríamos que criar um serviço simulado ou simular as respostas. Mas isso parece exagero; Entendo que queremos garantir que nossos métodos não parem de funcionar com erros de digitação / sintaxe, mas como estamos escrevendo funções que chamam métodos remotos e depois criando respostas falsas a partir desses métodos remotos, parece que um desperdício de esforço e que estamos testando algo que realmente não pode falhar. Pior, se o método remoto mudar, nossos testes de unidade serão aprovados enquanto o uso da produção falhar.
Tenho certeza de que estou perdendo alguma coisa, ou estou com o lado errado do bastão, ou não estou vendo a madeira para as árvores. Alguém pode me colocar no caminho certo?