Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Testing PHP (Laravel and Symfony Edition)
Getting Started
Why Test?
Installing PHPUnit (3:40)
Your First Test (4:38)
Organizing Tests
Autoloading with Composer
Setup and Teardown
Configuring PHPUnit (5:12)
Grouping Tests
Filtering Tests
Common PHPUnit Assertions
Testing Real-World Code
Introduction
Building the Currency Converter (2:35)
Mocking Dependencies (9:50)
Testing Errors and Exceptions (8:22)
Mocking Consecutive Calls
Using the Mock Builder
Writing Testable Code
Refactoring For Testability (9:37)
Data Providers (7:24)
Static Analysis
Static Analysis
What is Static Analysis
Installing PHPStan (6:13)
PHPStan Levels
Using PHPStan in Laravel and Symfony
Testing Laravel
Introduction
Project Setup (4:48)
What We Will Test + Rendering the View
Pest Feature Tests
How Laravel Handles Requests (and How Your Tests Fake It)
Larastan (3:59)
Route::view() method (1:52)
Form Validation (9:04)
Marking Tests as Todo in Pest
Testing Form Validation (6:09)
Models, Migrations, and Factories (6:54)
Creating Database Records (3:40)
Feature Testing with the Database
Database Integration Tests (6:27)
Laravel Validation Rules: What’s Possible?
Pest Datasets (8:10)
Tagging Subscriptions (3:42)
Laravel Mailables
Sending Emails (8:00)
Laravel Facades
Email Confirmation Testing (6:34)
Sending Outgoing HTTP Requests (9:33)
Testing Outgoing HTTP Requests (6:00)
Laravel Spies
Testing Partial Failures (10:27)
Manual Testing (3:20)
Testing Symfony
Introduction
Project Setup (2:51)
What We Will Test (3:14)
Understanding Routing in Symfony
Twig Files and Rendering Views (5:19)
Understanding the WebTestCase Class
Symfony Application Tests (7:25)
Handling Form Submissions (2:54)
Redirect Responses (3:41)
Testing Redirects (4:27)
Doctrine Entities and Migrations (7:54)
Writing Testable Code
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock