Testing Elixir

Effective and Robust Testing for Elixir and its Ecosystem

by: Andrea Leopardi and Jeffrey Matthias

Published 2021-07-26
Internal code lmelixir
Print status In Print
Pages 262
User level Intermediate
Keywords elixir, OTP, phoenix, ecto, property, property-based, Erlang, ExUnit, mix
Related titles

“Programming Elixir” by Dave Thomas
“Designing Elixir Systems with OTP” by James Edward Gray, II and Bruce A. Tate
“Property-based Testing with PropEr, Erlang, and Elixir” by by Fred Hebert
“Functional Web Development with Elixir, OTP, and Phoenix” by Lance Halvorsen

ISBN 9781680507829
Other ISBN Channel epub: 9781680508925
Channel PDF: 9781680508932
Kindle: 9781680508901
Safari: 9781680508918
Kindle: 9781680508901
BISACs COM051330 COMPUTERS / Software Development & Engineering / Quality Assurance & Testing
COM051240 COMPUTERS / Software Development & Engineering / Systems Analysis & Design
COM051240 COMPUTERS / Software Development & Engineering / Systems Analysis & Design

Highlight

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.

Description

Write Elixir tests that you can be proud of. Dive into Elixir’s test philosophy and conquer the 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.

Contents and Extracts