rust

3 posts

Mutation Testing em Rust Funciona, mas Seus Tempos de Compilação Vão Odiar Você

cargo-mutants encontra os testes que apenas fingem verificar seu código. Veja como mutation testing funciona para Rust, o que ele captura e se o custo de tempo de compilação vale a pena.

Você tem 100% de cobertura de linhas. Cada branch é executada. Cada função é chamada. Aí alguém muda um para na sua lógica de precificação, executa os testes e…

Testes Baseados em Propriedades em Rust Encontram os Bugs que Seus unit tests Deixam Passar

Testes baseados em exemplos cobrem apenas as entradas que você imaginou. Testes baseados em propriedades geram dados aleatórios, verificam invariantes e reduzem falhas aos contraexemplos mínimos.

Você escreveu uma função . Testou com e . Passou. Enviou para produção. Um usuário passa um slice de um único elemento. Sua função o ignora silenciosamente.…

Contratos de Runtime em Rust Podem Ser Gratuitos em Builds de Release, mas o compiler Não Vai Fazer Isso por Você

Rust remove debug assertions automaticamente, mas design-by-contract de verdade precisa de mais do que debug_assert!. Veja como construir contratos de runtime com custo zero que desaparecem do seu binário de release.

Rust pode impor contratos de runtime em desenvolvimento e apagá-los completamente das builds de release. A ressalva é que a linguagem não trata contracts como…