Intermediate
15h
Ensuring Elixir Application Performance with Testing and ExUnit
Gain insights into unit testing Elixir applications with ExUnit, explore advanced integration and E2E testing, and master OTP, Phoenix frameworks, API testing, and platform-specific refactoring.
Testing is an essential part of the software development life cycle. A good automated testing suite streamlines feedback, allowing rapid creation and tight control over specific application components.
This course is a comprehensive introduction to testing Elixir applications with ExUnit. You’ll start with a review of unit testing principles before diving into writing tests with the ExUnit. You’ll build a comprehensive suite of unit tests before moving on to more advanced testing, including integration, end-to-end, and property-baste testing. In addition to the core Elixir environment, you’ll also develop tests for OTP, the Phoenix web framework, including JSON APIs and Ecto schematics. You’ll also explore refactoring for different platforms, server rendering, and design strategies.
By the end of this course, you’ll be an expert in unit testing Elixir applications with ExUnit and ready to build robust, performant applications using Phoenix.
Testing is an essential part of the software development life cycle. A good automated testing suite streamlines feedback, allowi...Show More
WHAT YOU'LL LEARN
Learn about unit and integration testing
Learn about the testing of OTP
Understand the EXUnit
Understand the property-based testing and role of generators in it
Learn about the testing of ecto schemas and ecto queries
Learn about unit and integration testing
Show more
Content
1.
Getting Started
2 Lessons
Get familiar with Elixir testing tools, techniques, and practical examples for robust applications.
2.
Unit Tests
15 Lessons
Discover the logic behind creating and optimizing unit tests in Elixir using ExUnit.
Introduction to Unit TestsOur First TestThe Anatomy of a TestOrganizing Our Tests using DescribeOrganizing Our Tests using Setup BlocksCreating Comprehensive Test CoverageList ComprehensionsFurther Usage of List Comprehension for Test CoverageQuiz on Basics of ExUnitError CasesTesting Pure FunctionsRefactoring Toward Pure FunctionsIsolating CodeFiner Control over Dependency InjectionQuiz on Unit Testing Skills
3.
Integration and End-to-End Tests
19 Lessons
Examine integrating, testing, and simulating external dependencies, optimizing Elixir application performance.
4.
Testing OTP
8 Lessons
Grasp testing strategies for GenServers, functional cores, OTP processes, periodic actions, and supervision trees.
5.
Testing Ecto Schemas
13 Lessons
Solve problems in testing Ecto schemas, data validation, and database integration in Elixir.
6.
Testing Ecto Queries
6 Lessons
Tackle Ecto query tests, from creating factories to CRUD operations, ensuring data integrity.
7.
Testing Phoenix
12 Lessons
Master the steps to test Phoenix applications, including JSON APIs, HTML, plugs, and channels.
8.
Property-Based Testing
16 Lessons
Learn how to use property-based testing, stream_data, and effective data generation in Elixir.
Certificate of Completion
Showcase your accomplishment by sharing your certificate of completion.
Course Author:
Developed by MAANG Engineers
Trusted by 2.8 million developers working at companies
"These are high-quality courses. Trust me. I own around 10 and the price is worth it for the content quality. EducativeInc came at the right time in my career. I'm understanding topics better than with any book or online video tutorial I've done. Truly made for developers. Thanks"
Anthony Walker
@_webarchitect_
"Just finished my first full #ML course: Machine learning for Software Engineers from Educative, Inc. ... Highly recommend!"
Evan Dunbar
ML Engineer
"You guys are the gold standard of crash-courses... Narrow enough that it doesn't need years of study or a full blown book to get the gist, but broad enough that an afternoon of Googling doesn't cut it."
Software Developer
Carlos Matias La Borde
"I spend my days and nights on Educative. It is indispensable. It is such a unique and reader-friendly site"
Souvik Kundu
Front-end Developer
"Your courses are simply awesome, the depth they go into and the breadth of coverage is so good that I don't have to refer to 10 different websites looking for interview topics and content."
Vinay Krishnaiah
Software Developer
Hands-on Learning Powered by AI
See how Educative uses AI to make your learning more immersive than ever before.
AI Prompt
Code Feedback
Explain with AI
AI Code Mentor
Free Resources