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.

テストはソフトウェア開発の重要な一部です。このレッスンではElixirコードをExUnitを用いてテストする方法と、そのためのベストプラクティスをいくつか見てきます。

ExUnit のような例ベース(example-base)のユニットテストライブラリは、考えている通りにコードが動くことを保証できる素晴らしいツールです。 しかし、例ベースのユニットテストにはいくつかの問題があります:

  • 限られた数の入力でのみテストをするため、エッジケースを見逃しやすい
  • 要件を入念に考えることをせずにテストを書けてしまう
  • 1つの関数を複数の例でテストする場合はとても冗長になりやすい

このレッスンでは、 StreamData を使うことでこれらの問題をどのように克服できるかを見ていきます。