Voltar para o blog

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.