PHPUnit 3.3

Sebastian Bergmann and his contributors are proud to announce the immediate availability of PHPUnit 3.3.

This release is a major improvement to the popular open source testing solution for PHP applications. It includes new features and bug fixes. Highlights of this release include:

Improvements and Fixes for PHPUnit_Framework_Assert

assertStringEqualsFile(), assertStringNotEqualsFile(), assertXmlStringEqualsXmlFile(), assertXmlStringNotEqualsXmlFile(), assertXmlFileTag(), assertXmlFileNotTag(), assertXmlStringTag(), assertXmlStringNotTag(), assertXmlFileSelect(), and assertXmlStringSelect(), assertEquals(), assertNotEquals(), assertFileEquals(), and assertFileNotEquals(), and assertEqualXMLStructure() are new assertion methods that help making test code more concise and expressive.

Improvements and Fixes for PHPUnit_Framework_TestCase

This includes improvements and fixes for the Mock Objects System, Data Providers, and a rewrite of the code that is responsible for the backup of the $GLOBALS array.

Improvements and Fixes for PHPUnit_Extensions_Database_TestCase

PHPUnit_Extensions_Database_TestCase now works with MySQL 4 (it only worked with MySQL 5.0+ before) and the new CsvDataSet, CompositeDataSet, and ReplacementDataSet classes as well as the FlatXmlWriter class make working with data sets even more convenient.

Improvements and Fixes for PHPUnit_Extensions_SeleniumTestCase

The PHPUnit_Extensions_SeleniumTestCase has been refactored and the Selenium RC client/server protocol is now implemented in a separate class, PHPUnit_Extensions_SeleniumTestCase_Driver. In the future, it will be possible to use multiple driver objects in a single test. The support for code coverage in Selenium tests has been improved and is finally robust.

The ChangeLog for the PHPUnit 3.3 Release Series has the full list of changes.

Upgrading to PHPUnit 3.3

PHPUnit 3.3 is backwards compatible with PHPUnit 3.2. Please note that the PHPUnit_Extensions_ExceptionTestCase and PHPUnit_Extensions_TestSetup classes have been removed. They were deprecated in PHPUnit 3.2. Please migrate to the functionality provided by PHPUnit_Framework_TestCase and PHPUnit_Framework_TestSuite, respectively.


The documentation has been updated for PHPUnit 3.3 (English, Japanese). Please note that documenting PHPUnit is an ongoing effort and that not all new functionality might be documented at this point.


Sebastian Bergmann would like to thank the following companies and individuals that have contributed to this release of PHPUnit:

He would also like to thank all users of PHPUnit and everyone who has reported a bug, requested a feature, or contributed a patch.