Lessons: Testing

The first step to writing fault tolerant and scalable code is writing bug free code. In these lessons we explore how best to test our Elixir code.

Testando

Testes são uma parte importante do desenvolvimento de software. Nesta lição nós veremos como testar nosso código Elixir com ExUnit e algumas das melhores práticas de como fazer isto.

Bypass

Ao testar nossas aplicações, muitas vezes precisamos fazer chamadas a serviços externos. Podemos até mesmo querer simular diferentes situações como erros inesperados do servidor. Tratar isso de modo eficiente não é fácil no Elixir sem uma pequena ajuda.

Nesta lição vamos explorar como bypass pode nos ajudar rapidamente e tratar facilmente essas chamadas em nossos testes.

Mox

Mox é uma biblioteca feita para criar mocks concorrentes em Elixir.

StreamData

Uma biblioteca de testes unitários baseada em exemplos como a ExUnit é uma ferramenta maravilhosa para verificar se o código que você escreveu funciona da maneira que você espera. Entretanto, esse tipo de teste tem algumas desvantagens:

  • Pode ser fácil de perder casos de borda, já que você está testando apenas algumas poucas entradas.
  • Você pode escrever esses testes sem pensar cuidadosamente em seus requisitos.
  • Esses testes podem ser bastante verbosos quando você usa vários exemplos para uma função.

Nessa lição, vamos explorar como StreamData pode nos ajudar a superar alguns desses problemas.