Testing Elixir

Effective and Robust Testing for Elixir and Its Ecosystem

出版社 Pragmatic Bookshelf
発売日 2021/02/23
ページ数 220
ISBN-13 9781680507829
お届け日 通常 02月20日~02月27日

通常価格 ¥5,060

税込 配送料は購入手続き時に計算されます。


Elixir offers new paradigms, and challenges you to test in unconventional ways. Start with ExUnit: almost everything you need to write tests covering all levels of detail, from unit to integration, but only if you know how to use it to the fullest - we’ll show you how. Explore testing Elixir-specific challenges such as OTP-based modules, asynchronous code, Ecto-based applications, and Phoenix applications. Explore new tools like Mox for mocks and StreamData for property-based testing. Armed with this knowledge, you can create test suites that add value to your production cycle and guard you from regressions.

Write Elixir tests that you can be proud of. Dive into Elixir’s test philosophy and gain mastery over the terminology and concepts that underlie good tests. Create and structure a comprehensive ExUnit test suite, starting from the basics, and build comprehensive test coverage that will provide safety for refactoring and confidence that your code performs as designed. Use tests to make your software more reliable and fault tolerant.

Explore the basic tool set provided by ExUnit and Mix to write and organize your test suite. Test code built around different OTP functionality. Isolate your code through dependency injection and by using Mox. Write comprehensive tests for Ecto projects, covering Ecto as a database tool as well as a standalone data validation tool. Test Phoenix channels from end to end, including authentication and joining topics. Write Phoenix controller tests and understand the concepts of integration testing in Elixir. Learn property-based testing with StreamData from the author who wrote the library.

Code with high confidence that you are getting the most out of your test suite, with the right tools that make testing your code a pleasure and a valuable part of your development cycle.

What You Need:

To get the most out of this book, you will need to have installed Elixir 1.8 or later and Erlang/OTP 21 or later. In order to complete the relevant chapters, you will also need Ecto 3.1 or later, EctoSQL 3.1 or later and Phoenix 1.3 or later.


Elixir は新しいパラダイムを提供し、型にはまらない方法でテストに挑戦します。まずは ExUnit から始めましょう。ユニットからインテグレーションまで、あらゆるレベルの詳細をカバーするテストを書くために必要なものはほぼすべて揃っています。OTPベースのモジュール、非同期コード、Ectoベースのアプリケーション、Phoenixアプリケーションなど、Elixir特有の課題をテストしてみましょう。モックのためのMoxやプロパティベースのテストのためのStreamDataなどの新しいツールを紹介します。これらの知識を身につけることで、生産サイクルに付加価値を与え、リグレッションを防止するテストスイートを作成することができます。

自慢できるElixirテストを書けるようになります。Elixir のテスト哲学に飛び込み、優れたテストの根底にある専門用語や概念を習得します。基本的なことから始めて、包括的な ExUnit テストスイートを作成・構成し、リファクタリングの安全性を確保し、コードが設計通りに動作することを確信できるような包括的なテストカバレッジを構築します。テストを使用して、ソフトウェアの信頼性と耐障害性を高めます。

ExUnit と Mix が提供する基本的なツールセットを使ってテストスイートを作成し、整理します。さまざまな OTP 機能を中心に構築されたコードをテストします。依存性インジェクションや Mox を使用してコードを分離します。データベースツールとしての Ecto とスタンドアロンのデータ検証ツールを網羅した Ecto プロジェクトのための包括的なテストを記述します。認証と結合のトピックを含む、エンドツーエンドのPhoenixチャネルをテストします。Phoenixコントローラテストを記述し、Elixirでの統合テストの概念を理解します。ライブラリを書いた著者からStreamDataを使ったプロパティベースのテストを学びます。



この本を最大限に活用するためには、Elixir 1.8以降とErlang/OTP 21以降がインストールされている必要があります。関連する章を完成させるためには、Ecto 3.1以降、EctoSQL 3.1以降、Phoenix 1.3以降も必要です。