レッスン: テスト
耐障害性と拡張性のあるコードを書くための最初のステップは、バグのないコードを書くことです。このレッスンでは、Elixirのコードをどのようにテストするのがベストなのかを探求します。
テスト
テストはソフトウェア開発の重要な一部です。このレッスンではElixirコードをExUnitを用いてテストする方法と、そのためのベストプラクティスをいくつか見てきます。
Mox
MoxはElixirで並列モックを設計するためのライブラリです。
StreamData
ExUnit のような例ベース(example-base)のユニットテストライブラリは、考えている通りにコードが動くことを保証できる素晴らしいツールです。 しかし、例ベースのユニットテストにはいくつかの問題があります:
- 限られた数の入力でのみテストをするため、エッジケースを見逃しやすい
- 要件を入念に考えることをせずにテストを書けてしまう
- 1つの関数を複数の例でテストする場合はとても冗長になりやすい
このレッスンでは、 StreamData を使うことでこれらの問題をどのように克服できるかを見ていきます