Daniel Caixinha

Daniel Caixinha
Software Engineer, author and Meetup co-organiser

A Whirlwind Tour of Testing in Elixir

Tests are an integral part of any application. They are a safety net to refactor applications and also great living documentation. Beginning with unit tests, we'll see how to write thorough but also maintainable tests, and how the key to do so is to focus on the message-passing. Moving up the pyramid, we'll then go through end-to-end tests, but also component and contract tests. These last two are becoming increasingly important, since it's hard to maintain end-to-end tests in microservice architectures.


The objectives of this talk are three-fold:

  • discuss some best practices for testing Elixir applications;
  • show how to create unit tests that are descriptive and maintainable, while also avoiding redundant coverage;
  • explore service-level and end-to-end tests, and demonstrate how the former help in the maintainability of the latter.

This talk should appeal to anyone writing Elixir applications, regardless of the domain. Testing is a cross-cutting concern, and the principles discussed in this talk will apply to pretty much all areas of development, whether it's a web application or an embedded system.

Daniel Caixinha is a software engineer at Onfido, where he is using Elixir to build resilient systems that can also handle the high growth of the business. After graduating from Instituto Superior T├ęcnico, he joined the startup world, mainly using Ruby, but he also got the chance to play around with Elixir. Upon joining Onfido, he got the chance to take Elixir more seriously, which made him fall in love with functional programming in general, and Elixir in particular. Besides building Elixir applications, he is fostering the use of Elixir, being a co-organiser of the Lisbon Elixir meetup.

Github: dcaixinha

Back to conference page