This is the list of changes for the PHPUnit 3.5 release series.
- Added support for
getMockForAbstractClass()
to the mock builder API.
- Added a ticket listener that interacts with the Trac issue API.
- Added support for
E_USER_NOTICE
andE_USER_WARNING
toPHPUnit_Framework_Error_Notice
andPHPUnit_Framework_Error_Warning
, respectively. - Refactored test dependency handling (required for a bugfix in
PHPUnit_Selenium
). - Fixed
--stop-on-failure
.
- Fixed GH-13: Result XML inconsistent when data provider returns empty array or does not exist.
- Fixed the skeleton generator for tested classes.
- Strict mode is now compatible with process isolation.
- Worked around http://bugs.php.net/bug.php?id=52911 to make process isolation work on Windows.
- Tests that are incomplete or skipped no longer yield code coverage in strict mode.
- Fixed GH-34: Bogus bootstrap file raises cryptic error.
- Fixed GH-30:
--repeat
option does not work. - Fixed GH-47: Failure message ignored in
assertSelectCount()
. - Fixed GH-48: Remove strict incomplete duplication.
- 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()
, andassertAttributeNotInstanceOf()
as well asassertInternalType()
,assertAttributeInternalType()
,assertNotInternalType()
, andassertAttributeNotInternalType()
. - 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()
andassertStringNotMatchesFormat()
as well asassertStringMatchesFormatFile()
andassertStringNotMatchesFormatFile()
forEXPECTF
-like (run-tests.php
) format string matching. - Added
assertEmpty()
andassertNotEmpty()
as well asassertAttributeEmpty()
andassertAttributeNotEmpty()
. - 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.- The
PHPUnit_Extensions_Story_TestCase
functionality has been deprecated. - Replaced
PHPUnit_Framework_MockObject
with the PHPUnit_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.
- PHPUnit now uses an autoloader to load its classes. If the tested code requires an autoloader, use
spl_autoload_register()
to register it. PHPUnit/Framework.php
should no longer be included by test code. If needed, includePHPUnit/Autoload.php
to make PHPUnit's autoloader available.