Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Laravel - Unit & Feature Test Advanced Practices
Rating: 4.3 out of 5(65 ratings)
2,913 students

Laravel - Unit & Feature Test Advanced Practices

Mastering Advanced Testing Techniques in Laravel
Created byDmitry Khorev
Last updated 6/2024
English

What you'll learn

  • Have a framework for creating a maintainable code base that is pleasant to work with.
  • Become an expert in Laravel development that heavily utilizes strict types, unit & feature testing.
  • Build complex Laravel projects with asynchronous workflows and test them.
  • Onboard Laravel projects faster and finds opportunities for improvement.

Course content

4 sections29 lectures50m total length
  • Introduction to the Course2:32

    Laravel is a popular PHP framework known for its easy-to-learn syntax, modular and scalable architecture, and extensive ecosystem of tools and libraries. It emphasizes security with built-in features for encryption, hashing, validation, and more. With a clean and concise syntax, Laravel makes code readable and enjoyable for developers, and utilizing Laravel's testing framework can greatly improve the development process and reduce bugs in large projects. Whether implementing test coverage from the beginning or retroactively, having tests in place is crucial for efficient development and bug-free applications.

  • What to Expect During This Course1:34

    This course will focus on building backend applications with Laravel, specifically exploring architecture layers and separating framework layers (controllers, jobs, notifications, validation, etc.) from the business layer (services, actions, use cases, etc.). Topics covered will include creating a maintainable test suite, testing asynchronous features like notifications and queues, working with timezones, and testing integration with popular Laravel packages like Sanctum, Passport, Socialite, and Scout. Additionally, an introduction to CI/CD automation for testing with GitHub, Gitlab, and Bitbucket will be provided.

  • Meet Your Instructor0:30

    This course is led by Dmitry Khorev, a highly experienced developer with over 8 years of experience in producing quality, scalable server and client applications. Dmitry is skilled in creating well-designed, testable, and efficient back-end services using best practices. He has worked on various large Laravel projects, including a crypto exchange, CRM, and high-load IoT system. The course will provide a summary of Dmitry's experience working with Laravel versions 6 to 10.

  • Meet Your Instructor (More)0:21
  • Requirements for This Course0:54

    To successfully participate in this course, you will need a Linux or macOS machine, although Windows users can use VirtualBox to install Ubuntu as an alternative. Docker and Docker-compose should also be installed as they will be used for launching supporting services like databases. If you don't have your environment set up, instructions will be provided in the next lecture.

    Previous experience and knowledge required for this course include solid knowledge of Laravel and PHP, understanding of OOP, SOLID, and Dependency Injection principles, experience in writing automated tests with PHPUnit and Laravel, familiarity with Laravel service container (a plus), and knowledge of the Mockery framework (a plus).

  • Setup for This Course0:27
  • About - Unit, Feature, Integration, E2E1:54

    In Laravel, the default approach to testing includes UNIT and FEATURE test folders, and it commonly involves high coupling with Database Models. While additional testing types like e2e and integration testing can be introduced in large projects, they are complex and hard to maintain. However, Laravel's approach to unit and feature testing closely aligns with integration and e2e testing, and testing against production-like services boosts confidence in every step. In this course, we will also learn to treat our application as a set of microservices, with different levels of responsibility such as the API layer, scheduler, Horizon task runner, and commands, all connected with shareable Models/DB schema.

Requirements

  • Linux or macOS machine
  • Windows users can use Virtual Box to install Ubuntu, this is a perfectly fine solution
  • Docker and Docker-compose are installed
  • Solid knowledge of Laravel and PHP
  • OOP, SOLID, Dependency Injection principles
  • Experience writing automated tests for software with PHPUnit and the Laravel framework
  • Understanding of Laravel service container is a plus
  • Knowing the Mockery framework is a plus

Description

Hey there, you! Ready to level up your Laravel skills?

In this course, we're all about making your coding journey smoother and more enjoyable. Imagine having a framework that lets you build code that's not just maintainable but also a pure joy to work with. That's what we're aiming for!

By the end of this journey, you'll become a true Laravel expert. We'll dive deep into strict types, unit, and feature testing – those secret weapons that make your code rock-solid. Plus, we're not stopping at just theory. We're keen on getting hands-on. You'll be crafting and testing real-world asynchronous workflows in Laravel, ensuring that what you build stands the test of time.

But that's not all! We'll tackle complex Laravel projects together. Ever wondered how to test those intricate workflows? We'll break it down step by step, ensuring you gain practical experience.

And here's the kicker: You'll learn how to hit the ground running when onboarding new Laravel projects. Spotting opportunities for improvement will become second nature to you, making you an invaluable asset in any team.

So, what are you waiting for? Let's dive into Laravel and make this year of coding mastery! It's time to embark on this transformative adventure together.

Who this course is for:

  • Backend engineers with at least 3 years of experience, working or onboarding to work with large Laravel projects
  • Lead developers who are working on MVP-to-Enterprise transition for their product
  • Middle/Senior Laravel developers