Adicione latência e erros ao seu mock de API

Seu mock de API pode ficar lento, instável e com limite de requisições na hora que você quiser, para que o tratamento de erro que você escreveu rode de verdade antes de ir para produção.

  • Atraso em milissegundos
  • Taxa de erro por serviço
  • Por endpoint também
  • As mesmas configurações localmente

Configurações do serviço

Latência800 ms
Taxa de erro15%
200GET/orders812 ms
503GET/orders/8812804 ms
200POST/orders798 ms
429GET/orders801 ms
Cada resposta 800 ms mais lenta, e uma requisição em cada sete voltando com falha.

O que é simular latência e erro em um servidor mock?

Deixar a API lenta ou instável de propósito para o seu app ter que se virar. Um atraso em milissegundos e uma taxa de erro em porcentagem, aplicados ao serviço inteiro ou a um endpoint só.

Não tem proxy para colocar no meio nem ferramenta de chaos para instalar. A próxima requisição já sai lenta, ou já sai falhando.

Você só testa o caminho feliz

Você já sabe como um 200 se parece. O que não dá para produzir fácil é o timeout, o 503 e o limite de requisições repentino que o seu código de retry e fallback deveria sobreviver, porque a API real é confiável em desenvolvimento e quebra em produção.

Ligue a falha e você passa por esses caminhos na sua própria máquina. O spinner que nunca para sai bem mais barato ali do que em produção.

Latência fixa

Adicione um atraso em cada resposta e veja o que os seus estados de carregamento e timeouts fazem de verdade em uma rede lenta.

Taxa de erro

Defina a fatia de requisições que falha, para o seu código de retry e fallback rodar enquanto você ainda está escrevendo.

Por endpoint

Deixe lenta ou quebre uma rota só e mantenha o resto rápido, para um teste mirar exatamente a falha que te interessa.

Perguntas

Dá para falhar só um endpoint?
Dá. Latência e taxa de erro podem ser definidas para um serviço inteiro ou para um endpoint só, então o resto da API continua rápido e saudável.
Uma requisição atrasada ainda conta?
Conta. Uma resposta lenta continua sendo uma resposta, então ela conta nas requisições do seu plano igual a uma rápida.
Dá para fazer isso sem o serviço na nuvem?
Dá. O motor é licenciado sob MIT e lê as mesmas configurações de um arquivo, então você produz as mesmas falhas localmente ou no CI.

Traga um spec. Leve um servidor mock.

Começar não custa nada. Infraestrutura dedicada quando precisar.