Category Archives: Testing

PHPUnit Bootstrap and Autoloading classes

The PHPUnit Bootstrap is perfect when there is code to be run before tests are executed. The limitation however is there can only be one bootstrap per PHPUnit configuration file.

This is an issue if there are a set of classes that need to be included – we don’t want to manually include every class every test could possibly need.

PHP’s Autoloading feature comes to the rescue, allowing us to seamlessly include classes as they’re required for tests.
Continue reading

Tagged , , , , ,

Testing using Mocks & Stubs with PHPUnit

Now that we’ve got PHPUnit setup, we need to start writing the unit tests.

My immediate needs are to Unit test two classes, the first being a basic structure with getters and setters with small calculations performed. The PHPUnit manual provides a great starting point for testing this class in chapters 4 and 6, so I wont cover those here.

The second class, however, maintains a list of objects of the first type as well as performing some calculations based on them. Since we’re doing unit tests and not integration tests, we need to make sure that the results of our second class are predictable which means decoupling it from the first class. This obviously presents a problem whereby it would no longer function without the first class. This is where Mocks and Stubs come in.
Continue reading

Tagged , , ,

Installing PHPUnit on Ubuntu Linux

To install PHPUnit, there are two direct dependencies which first need to be installed;

  • PEAR
  • Xdebug

As Xdebug also depends on PEAR, we’ll make sure that’s installed first.
Continue reading

Tagged , , , ,