[ Dica ] Wiremock, uma crate para testar seu cliente em Rust
Recentemente eu tenho tido uma dificuldade enorme em testar código, especialmente lógica concorrente. Em minhas pesquisas, acabei encontrando um crate bem interessante que me atendeu bem a uma das minhas necessidades, que é o: wiremock.
O que isso faz?
Wiremock permite que você crie um mock de um servidor para testar sua aplicação. Cada instância do wiremock cria um processo em background que abre uma porta aleatória localmente, e com isto, você tem um ambiente controlado para testar seu projeto!
O que é um mock?
Eu não sou especialista em testes. Estou estudando bastante pois é uma habilidade que nunca dominei adequadamente, no entanto, com muita dor e frustração, eu compreendi que um mock trata-se de uma versão de "algo" cujo contém apenas o necessário para testar de forma controlada.
Seguindo esta lógica, supondo que você tem a função A que faz um calculo muito complexo e outras funções como B e C precisam da função A em sua lógica, você pode criar um mock de A que retorna/executa um comportamento controlado.
Depois que eu estive mais versado neste assunto, eu pretendo criar um post mais detalhado sobre testes de forma generalizada.