In his latest post today, Sebastian Bergmann announces the upcoming release of the latest version of the widely popular PHP unit testing suite - PHPUnit 3.0.
These past few days I have been busy hacking on what will become PHPUnit 3.0, hopefully already in January 2006.
The hallmark feature of PHPUnit 3.0 will be its support for Mock Objects. PHPUnit's Mock Object implementation has been initially developed by Jan Borsodi of eZ systems AS and is inspired by jMock.
While working with the Unit Tests for the Zend Framework I noticed that PHPUnit previously had no support for skipping the execution of a test, for instance when a required PHP extension is not available. PHPUnit 3.0 introduces the PHPUnit2_Framework_Assert::markTestSkipped() to mark a test as being skipped.
Chris Shiflett requested support for the Test Anything Protocol (TAP) which I added in the form of a respective PHPUnit2_Framework_TestListener implementation.
PHPUnit has become the de-facto standard for unit testing with PHP, and it's great to see so many more improvements coming from it. It's also good to see that, through it's efforts with the Zend Framework, it's also found some places it was lacking and fixed them right up.