YoVDO

PHP Unit Testing with PHPUnit

Offered By: Udemy

Tags

PHP Courses Unit Testing Courses Test-Driven Development Courses Automated testing Courses Dependency Injection Courses PHPUnit Courses

Course Description

Overview

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

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

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 PHPcode using the PHPUnit testing framework.

  • Learn what unit tests are

  • Learn how to write unit tests using PHPUnit

  • Build a test suite for PHPfunctions 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 PHPprojects 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 PHPdevelopers, you'll start by learning the basics of unit testing PHPcode, 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 PHPcode, 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 courseyou 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 PHPskillset!


Taught by

Dave Hollingworth

Related Courses

A Practical Introduction to Test-Driven Development
LearnQuest via Coursera
Mastering Agile Development of Software as a Service
UC Berkeley via edX
Test-Driven Development Project: Random Person Generator
LearnQuest via Coursera
Introduction to Cloud Native, DevOps, Agile, and NoSQL
IBM via edX
IBM COBOL Basic Testing and Debugging
IBM via Coursera