Teste que só passa sozinho: como achar e cortar o estado compartilhado
Descubra qual teste está vazando estado para o vizinho, rode a suíte em ordem aleatória e faça cada teste preparar e limpar o próprio dado.
399 artigos nesta categoria.
Descubra qual teste está vazando estado para o vizinho, rode a suíte em ordem aleatória e faça cada teste preparar e limpar o próprio dado.
Tire o relógio real dos seus testes, fixe o instante que importa e cubra dia 31, 29 de fevereiro e meia-noite antes que o CI descubra por você.
Onde null, vazio e campo ausente viram 0 em JavaScript, PHP, Python, C#, MySQL e PostgreSQL, com leitura de preço segura e o CHECK que deixa NULL passar.
Troque booleanos posicionais por objeto de opções, funções separadas ou tipos com nome, em TypeScript e Python, para que a chamada se leia sem abrir a definição.
Renomeie funções para que o nome diga o efeito real: separe consulta de comando, escolha verbos com contrato claro e troque o nome sem quebrar quem já chama.
Aprenda a separar o comentário que envelhece mentindo do que salva a próxima pessoa: restrição externa, regra de negócio, contorno com prazo. Com exemplos em Python antes e depois.
Tag latest no Docker testada com registry local: servidor com cache antigo sobe outra versão, tag de versão sobrescrita, digest fixo e labels OCI no container.
Use o lockfile como contrato: CI e imagem instalam com npm ci, atualizar dependência vira um commit separado com teste, e conflito no lock se resolve sem apagar o arquivo.
Configure o tratamento de erro para mostrar mensagem genérica com código de acompanhamento, guardar o stack trace só no servidor e testar com a configuração real de produção.
Gere um identificador na entrada de cada requisição, carregue esse id em todo log, fila e chamada seguinte e mostre-o na tela de falha para o suporte achar a história inteira com uma busca.
Descubra quando o token é recusado por diferença de relógio entre servidores, meça o desvio, sincronize com NTP e configure uma folga de segundos, não de horas.
Implemente um limite de tentativas de login no servidor que diz que há uma pausa e quanto falta, sem revelar se a conta existe e sem trancar a pessoa de vez.