PHP Unit Testing with PHPUnit
What you'll 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
- You must know PHP, including object-oriented code
- Be happy running commands in the terminal / command line on your computer
- Ideally have PHP and Composer installed, but a brief overview of installing these will be covered
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
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!