Testar integração quando não existe sandbox
Equipe AltiviaCloud · 6 de setembro de 2026 · 4 min de leitura
Duble os casos ruins, que são os que você nunca reproduz de propósito. E não deixe o teste que bate no fornecedor real bloquear o merge.
Nem todo serviço tem ambiente de teste. Isso é mais comum do que a documentação de mercado sugere — especialmente onde cada operação tem custo real, como comprar um número ou provisionar um proxy.
Quando não existe sandbox, você tem três caminhos, e o erro é escolher só um.
1. Duble o fornecedor nos seus testes
O que você quer testar, na maior parte do tempo, não é o fornecedor. É o seu código: se ele monta a requisição certa, se trata o erro, se atualiza o estado direito.
Para isso, substitua a chamada externa por uma implementação falsa que devolve as respostas possíveis.
O que ganha valor de verdade é dublar os casos ruins, que são justamente os que você nunca consegue reproduzir de propósito com o fornecedor real:
- resposta de saldo insuficiente;
- limite de taxa;
- tempo esgotado;
- resposta com formato inesperado;
- SMS que nunca chega.
Cinco testes que cobrem os cinco chamados mais comuns, e nenhum deles custa dinheiro.
A armadilha: o duble ser mais educado que o fornecedor real. Se ele sempre responde rápido e sempre no formato certo, ele testa um mundo que não existe. Construa o duble a partir de respostas reais que você capturou, não do que a documentação promete.
2. Grave respostas reais e reproduza
O meio-termo entre duble e chamada real: você faz a chamada de verdade uma vez, grava a resposta, e daí em diante o teste reproduz o que foi gravado.
A vantagem sobre o duble escrito à mão é que o formato é o real, com todos os campos que a documentação esqueceu de mencionar.
A desvantagem é que a gravação envelhece. Se o fornecedor muda a resposta, o seu teste continua verde com o formato antigo.
O contrapeso é ter um teste — um só — que bate no fornecedor de verdade e roda separado da suíte principal. Ele existe para avisar quando o contrato mudou.
3. Um teste real, pequeno e isolado
Alguma coisa só o ambiente real ensina: latência de verdade, comportamento sob limite de taxa, o campo que vem diferente do documentado.
Faça esse teste com valor mínimo, num fluxo isolado, e fora da suíte que bloqueia o merge. Ele avisa, não impede.
Isso importa: teste que depende de rede externa vai falhar às vezes por motivo externo. Se ele bloqueia o merge, alguém vai desligá-lo — e aí você perde os dois.
Distinga falha de ambiente de teste instável
A diferença precisa aparecer na mensagem de erro.
"Nenhum SMS chegou em 30 segundos" manda quem investigar para o ambiente. "Elemento não encontrado" manda para o código.
Um teste que falha com a mensagem errada custa uma tarde de investigação no lugar errado — e é assim que a suíte perde a confiança do time.
O que fazer quando cada operação custa
Duas medidas simples reduzem muito o gasto:
Um teto de gasto no ambiente de teste. Uma chave separada, com saldo pequeno e específico. Se um laço mal escrito disparar mil pedidos, o prejuízo para no saldo daquela chave — e não no da conta principal.
Limpeza depois. Pedido de teste que fica aberto ocupa recurso e pode continuar sendo cobrado. Cancele ao fim do teste, inclusive quando ele falha — no bloco de finalização, não na última linha do caminho feliz.
Antes de integrar, explore na mão
Antes de escrever qualquer código, faça as chamadas manualmente e guarde as respostas.
Isso revela em minutos o que a documentação não diz: quais campos vêm nulos, qual é a latência real, o que acontece quando você manda parâmetro inválido, como é o erro de verdade.
Esse material vira o seu duble, e o duble fica fiel ao mundo real em vez de fiel ao manual.
O arranjo que costuma sobreviver
Duble para tudo que é lógica sua, incluindo os casos ruins. Gravação para garantir formato real. Um teste real, isolado, que avisa quando o contrato muda. E um teto de gasto para o dia em que alguém errar o laço.
Se o seu fluxo depende de receber SMS ou e-mail para concluir, testar cadastro de ponta a ponta sem teste instável trata da parte de esperar pela condição — que é onde essas suítes mais quebram.
Como pedido sem SMS é estornado, o teste real com números virtuais só custa quando o código chega — os valores estão em preços.