Aaron Cruz

Aaron Cruz

Freelance Elixir Developer - Streamer (twitch.tv/Elixir_Bytes)

Freelance Elixir Developer. Streaming Elixir/Go/Python/SaaS development at Elixir_Bytes. Meetup organizing extraordinaire. Ex-cook. Ex-cheese-maker.

Testing OTP

For the last two years, I’ve been working with one of the larger energy companies in Germany. As more renewable energy becomes available and the energy topology grows, it becomes harder to track in the enormous energy network where there might be too much or too little energy flowing. We are building an Elixir system to find these problem spots and stop them before they happen.

We’ve been able to work inside a monorepo for years because OTP features have made it incredibly simple to model our complex infrastructure in Supervision Trees and Processes.

Testing has been, hands down, the most complex part of using Processes and OTP in Elixir. Whether it’s a polling server, an in-memory repo, or trying to do mocks the right way, there are many gotchas and head-scratchers along the way.

If you’ve ever tried to test anything Process-related and scratched your head thinking “WAT?”, you will find your answers in this talk.