PHP Unit Testing with PHPUnit (

Unit test your PHP code using the PHPUnit testing framework: find bugs quickly and early, and improve your code quality.

Created by: Dave Hollingworth

Produced in 2021

What you will learn

  • Write automated tests for your functions and classes
  • Write better code with less bugs, in less time
  • Develop code using test-driven development
  • Know that the code you write works how you want it to
  • Have improved documentation for your code
  • Get support directly from the instructor

Quality Score

Content Quality
Video Quality
Qualified Instructor
Course Pace
Course Depth & Coverage

Overall Score : 92 / 100

Live Chat with CourseDuck's Co-Founder for Help

Need help deciding on a php course? Or looking for more detail on Dave Hollingworth's PHP Unit Testing with PHPUnit? Feel free to chat below.
Join CourseDuck's Online Learning Discord Community

Course Description

If you are a PHP developer and you want to learn how to write better code, with fewer bugs, you will need to know how to write unit tests.
Learn how to unit test your PHP code using the PHPUnit testing framework.
  • Learn what unit tests are
  • Learn how to write unit tests using PHPUnit
  • Build a test suite for PHP functions and classes
  • Make test methods dependent on each other
  • Use test doubles: mocks and stubs, including how to use Mockery
  • Learn how and why you should use dependency injection
  • Learn test-driven development (TDD)
  • Learn how to test protected and private methods and properties (and whether you actually should or not!)
  • Learn how to test abstract classes
A skill that will enable you to write higher quality code, in a shorter time, with better documentation and fewer bugs.
Learning how to write unit tests for your code will make you write better code. With automated tests, you can find bugs more easily, and if you break something you'll notice straight away.
Many experienced developers write unit tests for their code. It's a repeatable way of checking that the code works as intended, and also serves as documentation. Many popular PHP projects are unit tested, such as WordPress and Moodle, and if you use frameworks such as Laravel or Symfony, these provide tight integration with the PHPUnit testing framework.
Content and Overview
How do you currently test your code? Maybe you run your code in a browser, use var_dump a lot and so on. The problem with this is that you only tend to test new code - you don't go back and test old code. What if you add some new code that breaks the old code?
With automated unit tests, you have more control. If your new code breaks something, you'll notice straight away. You can fix bugs more easily, thereby reducing development time.
Tests are also a form of documentation, just like comments: they serve to show why the code has been written that way.
  • Suitable for all PHP developers, you'll start by learning the basics of unit testing PHP code, including how to use assertions.
  • Then you'll learn how to test functions and classes, and how to configure the PHPUnit framework.
  • Next you'll learn how to use test dependencies, fixtures and how to test for exceptions.
  • You'll also see how test doubles work - mock objects and stub methods.
  • Then you'll learn how to write code using test-driven development - writing the tests first, then the code.
  • You'll also learn how to test protected and private class methods and properties, and whether this is actually a good idea or not.
  • Testing static methods is covered in detail, including several methods for dealing with static dependencies.
When you complete the course you'll be able to write unit tests for your existing PHP code, and develop new code using test-driven development.
Complete with all the code shown in the lectures, you'll be able to work alongside the instructor and will receive a verifiable certificate of completion upon finishing the course.
Also, at all times throughout the course you have access to the instructor in the Q&A section to ask for help with any topic related to the course.
Enrol now and add unit testing to your PHP skillset!Who this course is for:
  • PHP developers who want to improve the quality of their code by writing automated tests for their functions and classes
  • PHP developers who want to learn the PHPUnit testing framework
  • This course is about unit testing - this course is probably not for you if you're looking to learn how to test the user interface

*Some courses are excluded from this sale. Coupon not working? If the link above doesn't drop prices, clear the cookies in your browser and then click this link here.
Also, you may need to apply the coupon code directly on the cart page to get the discount.

Coupon Code

Instructor Details

Dave Hollingworth

Hi, I'm Dave Hollingworth. I'm an IT trainer and web application developer. I've been programming for over thirty years, and teaching IT since 1999.
I've developed enterprise-level applications on platforms ranging from mainframes to mobiles: from my first web application, a quotes system created for a major insurance company back in 1999 - the first of its type in the sector - to interactive learning management systems for online language learning.
I've taught courses ranging from basic use of email to advanced web application development, both online and in-person. I've been teaching on Udemy since 2012.
I'm passionate about technology, and love teaching it! I believe it's possible to explain even the most complex subjects in a simple, straightforward way that doesn't confuse the student.
I look forward to welcoming you onto one of my courses!



50 total reviews

5 star 4 star 3 star 2 star 1 star
% Complete
% Complete
% Complete
% Complete
% Complete

A thorough course on phpunit and unit testing of code with relevant close to real time scenarios was really helpful. Thank you for this course, Dave. Look forward to more of your courses and updated ones in the current, if any. The video content and the explanation with it is good. Maybe a little louder recording wouldn't hurt the ears (i had a hard time to hear the video course sometimes though at full volume). Overall, a great effort and thanks again for this wonderful course. Keep up the good work.

The course was very good and clear most of the time. The cut and paste of the code made it go a bit to fast. Sections 1-5 were great in terms of building upon the previous. Sections 6-9 were a bit more tricky as previously used classes changed and you lost the build progression and had to spend too much time trading in and out code in my opinion. But was a very good course and explained PHPUnit very well in my opinion.

I got all of what I need about PHPUnit, thanks to the professional instructor and the explained examples.

Really helpful breakdown of some really dry concepts that can be difficult to understand from simply reading. Code snippets are very helpful.

Great course, i mostly like it because it's taking it step by step for creating real world like tests

I liked this course a lot. Author has perfect pronunciation and nice voice. Each video is concise, there is no wandering around, only pure useful facts about PHPUnit Testing. This course helped me to understand disadvantages of using static methods. Also I learned how to use Mockery testing framework.I would happy to see another courses of this talanted author!

The examples for test doubles are not practical.

Absolutely recommended for beginners. The chapters are very well structured. This course gives me confidence in creating unit tests in PHP.

I learned some things but it was more like a presentation than a course. The code was all copy + paste.

Capacita' dell'insegnante e argomenti trattati sono da 5 stelle. Purtroppo questo corso ha una grossa pecca: l'insegnante non digita il codice mentre spiega ma lo fa apparire a video istruzione per istruzione; questo rende impossibile seguire il corso e contemporaneamente scrivere il codice. Molto frustrante.

Excelente curso muy claro en su explicacin y plio.

I enjoyed this very much. I hope that in the future more quizzes and code tests will be added to the later sections.