Do you want to pick up from where you left of?
Take me there

レッスン: テスト

耐障害性と拡張性のあるコードを書くための最初のステップは、バグのないコードを書くことです。このレッスンでは、Elixirのコードをどのようにテストするのがベストなのかを探求します。

テスト

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

Bypass

アプリケーションのテストでは、しばしば外部サービスにリクエストを出す必要があります。 予期せぬサーバーエラーのような、さまざまな状況をシミュレートしたいこともあるでしょう。 Elixirでは、このような状況を効率的に処理するために、ちょっとした手助けが必要です。

このレッスンでは、bypass を使って、テストの中でこれらのリクエストを素早く簡単に処理する方法を探ります

Mox

MoxはElixirで並列モックを設計するためのライブラリです。

StreamData

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

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

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