Lesson 5 - PHP Testing - Xdebug and coverage reports
In the previous lesson, PHPUnit DataProvider and BestPractices, we learned how to use the
@dataProvider
annotation, to test protected methods and best
practices. Today, the Xdebug tool is waiting for us, as well as generating Code
Coverage reports, which tell us how large is the part of our application the
tests cover, and even how well our code is written.
Xdebug
If you started programming in some compiled desktop language (Pascal / C / C++ / Delphi) in the past, you certainly miss a debugger in PHP. In the development environment, we usually had an option to place break points into the program. On these lines, the program stopped and returned focus to the IDE. At this time, we could see the contents of the variables, the memory usage, we could step through the program and watch why it doesn't do what we need. After switching to the web, this tool ceases to work because we call PHP via a request through the web browser and the IDE is then a little out of the process. Or isn't?
Xdebug is a PHP extension that sends messages about the program running using a protocol. Smart IDEs can capture these messages and thus allow debugging the program like it was a desktop application:

Xdebug offers for example:
...End of the preview...
Continue further
You've come here and that's great! We believe that the first lessons showed you something new and useful
Do you want to continue the course? Go to the premium section.
Buy this course
Before buying this article, you have to buy the previous one
This article is licensed: Premium III, by buying this article, you agree with the terms of use.
- Unlimited and permanent access to individual lessons.
- High quality IT knowledge.
- Skills to help you get your dream and well-paid job.
Article description
Requested article covers this content:
We'll learn to debug PHP applications at runtime using Xdebug and configure it in this tutorial. We'll generate test coverage and code quality reports.
You gain credits by supporting our network. This is done by sending a helpful amount of money to support the site, or by creating content for the network.