Tests Can Be Beautiful: Testing in Style with ShouldI
Tutorial: Elixir
Panel Discussion

Bruce Tate
CTO icanmakeitbetter.com

Testing is the red-headed stepchild of the development world, but tests can be beautiful. Whether you're coding Erlang or Elixir, by using a few tools and adopting a few principles, the Elixir language has just what you need to dramatically improve your overall development experience.

Talk objectives:

- You will learn to treat your test cases as first class citizens. The ShouldI framework will help you reduce duplication, code concurrent tests that run fast, and organize your tests using a custom language that's trivial to read, easy to extend in all of the right places, and light years beyond the typical x-unit packages.

Target audience:

- Both Erlang developers who would like to learn to leverage Elixir scripting for tests and Elixir developers who want more out of their testing libraries will benefit tremendously from this talk. We'll be using some Elixir, but the code we'll be writing should be easy to understand by both Erlang and Elixir developers.


Elixir is a new language on the Erlang VM with strong extensibility through polymorphism and meta-programming.

The tutorial will teach the basics of Elixir and how to build and manage your project with the Mix build tool. A long the way we will test the project with the ShouldI DSL.

Prerequisite knowledge:

Comfortable programming in another programming language. Erlang or functional programming experience is helpful.

This tutorial will cover:

 - Basics of Elixir

 - Using the Mix build tool

 - Testing in Elixir

 - Using DSLs

The panel discussion will feature Guido van Rossum, Mike Williams, Jose Valim and John Hughes and will be moderated by Bruce Tate. We'll start by asking each inventor about their approach when creating their languages:

  • What problem did the language they invented solve?
  • What decisions made the biggest impact on that solution?
  • What are the consequences of those decisions?

This opening will lead to a Q&A discussion on what the language inventors got right and what they would do differently today if given the chance to start again. Don't miss this opportunity to learn directly from language creators!


Bruce Tate is a kayaker, author, father of two from Austin, Texas. The CTO for icanmakeitbetter.com is using Elixir to deliver fast, scalable applications.

GitHub: batate

Twitter: @redrapids

Back to conference page