/phpunit

The PHP Unit Testing framework.

Primary LanguagePHP

PHPUnit 3.5

This is the list of changes for the PHPUnit 3.5 release series.

PHPUnit 3.5.0

  • Implemented TRAC-834: Refactor collection, processing, and rendering of code coverage information using the PHP_CodeCoverage component.
  • Implemented TRAC-948: Add D-BUS test listener.
  • Implemented TRAC-967: Only populate whitelist when code coverage is used.
  • Implemented TRAC-985: Sort arrays before diff.
  • Implemented TRAC-1033: Supplement commandline option --stop-on-error and friends.
  • Implemented TRAC-1038: Add assertInstanceOf(), assertAttributeInstanceOf(), assertNotInstanceOf(), and assertAttributeNotInstanceOf() as well as assertInternalType(), assertAttributeInternalType(), assertNotInternalType(), and assertAttributeNotInternalType().
  • Implemented TRAC-1039: Added support for regexpi: matcher to Selenium RC driver.
  • Implemented TRAC-1078: Added support for setting superglobals via the XML configuration file.
  • Added support for mocking/stubbing of static methods. This requires PHP 5.3 and late static binding.
  • Added assertStringMatchesFormat() and assertStringNotMatchesFormat() as well as assertStringMatchesFormatFile() and assertStringNotMatchesFormatFile() for EXPECTF-like (run-tests.php) format string matching.
  • Added assertEmpty() and assertNotEmpty() as well as assertAttributeEmpty() and assertAttributeNotEmpty().
  • Added the @expectedExceptionCode and @expectedExceptionMessage annotations.
  • Added support for the XML format of mysqldump to the database extension.
  • Added the <includePath> element to the <php> section of the XML configuration file.
  • Added the verbose attribute to the <phpunit> element of the XML configuration file.
  • Added a ticket listener that interacts with the GitHub issue API.
  • Added a ticket listener that interacts with the GoogleCode issue API.
  • Added a test listener that uses XHProf to profile the tested code.
  • Added the --strict switch to mark tests that perform no assertions as incomplete.
  • The paths in the XML configuration file can now be relative to the directory that contains the XML configuration file.
  • The @author annotation is now an alias for @group allowing to filter tests based on their authors.
  • The PHPUnit_Extensions_SeleniumTestCase::$autoStop flag has been removed, please start Selenium RC with -browserSessionReuse instead.
  • The --log-metrics and --log-pmd switches have been removed. Their functionality has been or will be merged into PHP_Depend and PHPMD. Details can be found here.
  • The --ansi switch has been removed, please use --colors instead.
  • The --coverage-source switch has been removed.
  • The --coverage-xml switch has been removed, please use --coverage-clover instead.
  • The --log-graphviz switch has been removed.
  • The --log-xml switch has been removed, please use --log-junit instead.
  • The --report switch has been removed, please use --coverage-html instead.
  • The --skeleton switch has been removed, please use --skeleton-test instead.
  • The TestListener implementation that logs to PEAR::Log sinks has been removed.
  • The test database functionality has been removed.
  • The shared fixture functionality has been removed.
  • PHPUnit_Extensions_PerformanceTestCase has been removed.
  • PHPUnit_Extensions_TicketListener_Trac has been removed.
  • Replaced PHPUnit_Framework_MockObject with the PHP_MockObject component.
  • Replaced PHPUnit_Extensions_Database_TestCase with the DbUnit component.
  • Replaced PHPUnit_Extensions_SeleniumTestCase with the PHPUnit_Selenium component.
  • Replaced PHPUnit_Util_FilterIterator with the PHP_FileIterator component.
  • Replaced PHPUnit_Util_Template with the Text_Template component.
  • Replaced PHPUnit_Util_Timer with the PHP_Timer component.
  • Fixed TRAC-1068: assertSame() on two floats does not print the error message.
  • Fixed GH-7: Code paths that create a PHPUnit_Framework_Warning end up serializing/unserializing globals unconditionally.
  • PHPUnit now requires PHP 5.2.7 (or later) but PHP 5.3.3 (or later) is highly recommended.