AI-powered learning
Save this course
Property-Based Testing with PropEr in Elixir
Gain insights into property-based testing with PropEr in Elixir. Learn foundational principles, custom data generators, and advanced concepts for effective real-world application testing.
88 Lessons
17h 30min
Updated 2 months ago
Join 2.9 million developers at
Join 2.9 million developers at
LEARNING OBJECTIVES
- Understand the concepts of PropEr.
- Understand the role of generators in property in property-based testing.
- Have a clear sense where property-based testing has an advantage over Eunit tests and vice versa.
- Be able to use stateful properties with ease.
- Learn how to write State Machine Properties.
- Understand property-based testing
Learning Roadmap
1.
Foundations of Property-Based Testing
Foundations of Property-Based Testing
Get familiar with property-based testing principles, frameworks, and their implementation in Elixir.
2.
Writing Properties
Writing Properties
Look at writing properties, file and property structures, execution models, and default generators.
3.
Thinking in Properties
Thinking in Properties
8 Lessons
8 Lessons
Explore transitioning to property-based testing with modeling, generalizing tests, invariants, and symmetric properties.
4.
Custom Generators
Custom Generators
13 Lessons
13 Lessons
Break down complex ideas of custom generators for comprehensive property-based testing.
5.
Responsible Testing
Responsible Testing
9 Lessons
9 Lessons
Take a closer look at responsible testing with Elixir, emphasizing adaptable unit testing and CSV parsing.
6.
Properties-Driven Development
Properties-Driven Development
9 Lessons
9 Lessons
Focus on defining and validating properties, handling special pricing, and using negative testing.
7.
Shrinking
Shrinking
5 Lessons
5 Lessons
Master the steps to optimize counterexample handling in PropEr using the shrink and let_shrink macros.
8.
Stateful Properties
Stateful Properties
8 Lessons
8 Lessons
Learn how to use stateful property-based testing for verifying complex system behaviors.
9.
Case Study: Bookstore
Case Study: Bookstore
11 Lessons
11 Lessons
Get started with testing a PostgreSQL-based bookstore in Elixir, focusing on stateful properties.
10.
State Machine Properties
State Machine Properties
11 Lessons
11 Lessons
Examine finite state machines for robust testing, focusing on circuit breakers and model adjustments.
Certificate of Completion
Showcase your accomplishment by sharing your certificate of completion.
Complete more lessons to unlock your certificate
Developed by MAANG Engineers
ABOUT THIS COURSE
Property-based testing relies on specifying some property of code, unlike unit tests, which specify the expected output in response to some inputs. In this course, we'll cover the concepts we need to feel confident about using even the most advanced features of PropEr with Elixir.
We'll start with the basic and foundational principles of property-based testing, see what the framework offers us to get started, make our way through thinking in properties, write our own custom data generators, and then learn more advanced concepts. We'll also see how you can use property-based testing in a realistic project.
By the time we finish this course, we should feel comfortable testing real-world applications using properties.
ABOUT THE AUTHOR
The Pragmatic Programmers
We create timely, practical books and learning resources on classic and cutting-edge topics to help you practice your craft and accelerate your career.
Trusted by 2.9 million developers working at companies
A
Anthony Walker
@_webarchitect_
E
Evan Dunbar
ML Engineer
S
Software Developer
Carlos Matias La Borde
S
Souvik Kundu
Front-end Developer
V
Vinay Krishnaiah
Software Developer
Built for 10x Developers
No Passive Learning
Learn by building with project-based lessons and in-browser code editor


Personalized Roadmaps
The platform adapts to your strengths & skills gaps as you go


Future-proof Your Career
Get hands-on with in-demand skills


AI Code Mentor
Write better code with AI feedback, smart debugging, and "Ask AI"




MAANG+ Interview Prep
AI Mock Interviews simulate every technical loop at top companies


Free Resources