About this course
This is a follow-up course to the previously released Testing in Laravel For Beginners.
I deliberately separated them because there are two different audiences for testing:
- Devs who haven't started testing or have minimal experience
- Devs already familiar with core principles but lack practical experience and want to dive deeper
This course is also a new text-based version of the older video course from 2022, updated to the newest Laravel 11, Pest 3 and other syntax.
This advanced testing course will cover the following topics.
- GitHub Actions. I'll start by motivating you to write more tests because you can automate running them with GitHub actions
- Finding Assertions. One of the biggest struggles for people is to choose the correct assertions. I will show you more assertions and the difference between some of them.
actingAs($this->user)
->get('/products')
->assertStatus(200)
->assertSee($product->name);
// Or better `assertSeeText()`?
- Testing Laravel features. You need to learn how to test specific structures in Laravel, such as Exceptions, File Downloads, Artisan commands, Jobs, Eloquent, and HTTP requests.
$this->artisan('page:publish', ['id' => 1])
->assertFailed()
->expectsOutputToContain('Not found');
- Testing External Stuff. Probably the most requested topic for this course: mocking, testing external services, testing external APIs, third-party APIs, and faking stuff within the Laravel framework itself.
$this->mock(YouTubeService::class)
->shouldReceive('getThumbnailByID')
->with('5XywKLjCD3g')
->once()
->andReturn(...);
- Finally, along the way, I will show you random testing tips.
php artisan test --stop-on-failure
So, are you intrigued? Let's start with the FREE first lesson about GitHub actions.