forked from sebastianbergmann/phpunit
-
Notifications
You must be signed in to change notification settings - Fork 0
ChangeLog for PHPUnit 3.7
sebastianbergmann edited this page Nov 11, 2014
·
4 revisions
- Fixed #1472:
assertEqualXMLStructure()modifies the tested elements
- Fixed #1193: Problem with "headers already sent" in isolated tests when using PHPUnit from PHAR
- Fixed #1143: The state in mocked static objects is not cleaned up when an exception is caught by PHPUnit
- Fixed #1231: Version information is printed to
stdoutinstead ofstderrwhen--stderris used
- PHPUnit now prints a message that the PEAR installation method is no longer supported
- New release of PHPUnit with updated Composer dependencies
- Fixed #1159:
@requireannotation does not work with\r\nline ending
- Workaround for composer/composer#2757
- New release of PHPUnit as PHAR with updated dependencies
- Fixed #1125: Prevent side effect when using
PHPUnit_Framework_Constraint_CountonIteratorinstances - Upgraded bundled version of PHP_CodeCoverage in the PHP Archive (PHAR) distribution of PHPUnit
- Upgraded bundled version of Text_Template in the PHP Archive (PHAR) distribution of PHPUnit
- Fixed #748: Fatal error in JSON test listener when
markTestSkipped()is used insetUpBeforeClass() - Fixed #1031: Warning when
mbstring.func_overloadis enabled - Fixed #1048: Implementation of
PHPUnit_Framework_Constraint_ArrayHasKeyis incompatible with HHVM - Fixed #1051: Implementation of
PHPUnit_Util_PHPis incompatible with HHVM
- Fixed #1004: Stubbing/Mocking does not work in process isolation when using PHPUnit PHAR
- Fixed #1021: Backtrace on Windows (phar) not being filtered properly
- Fixed #999: phpunit.phar is missing resources (such as templates)
- Upgraded bundled version of PHP_TokenStream in the PHP Archive (PHAR) distribution of PHPUnit.
- Upgraded bundled versions of PHP_CodeCoverage and PHPUnit_Selenium in the PHP Archive (PHAR) distribution of PHPUnit.
- Fixed #982: Process Isolation does not work when using PHPUnit from a PHP Archive (PHAR)
- Dependencies updated to latest version in PHP Archive (PHAR) distribution.
- Fixed #948: Do not die on binary output with JSON logging.
- Implemented a workaround for PHP bug #63055.
- It is now possible to use generators as data providers.
- Fixed #277: Account for
auto-globals-jitwhen setting$_ENVand$_SERVERvariables in the xml config. - Fixed #924: PHPUnit depends on packages that broke backwards compatibility.
- Fixed #883: Stand-alone functions
logicalAnd(),logicalOr(), andlogicalXor()did not work. - Fixed #889: Suppress
open_basedirwarnings while searching for the composer autoloader. - Fixed #890: Correctly parse single-line @expectedException annotations.
- Fixed #891: Better messages when JSON-related assertions receive invalid JSON.
- Fixed #896: Use the proper
toString()method insidePHPUnit_Framework_TestFailure::toString(). - Fixed #902: Allow symfony/yaml >=2.0,<3.0
- Fixed #908: Don't rely on composer to set up the
include_pathforErrorHandler.php.
- Fixed #763:
assertTag()fails to match content in CDATA sections. - Fixed #860: Version requirement for
symfony/yamlis too restrictive. - Fixed #863: Number of tests to run calculated incorrectly when
--repeatis used.
- Make sure the autoloader for PEAR-based installation is not used when PHPUnit is installed via Composer.
- Make sure the autoloader for PEAR-based installation is not used when PHPUnit is installed via Composer.
- Make sure the autoloader for PEAR-based installation is not used when PHPUnit is installed via Composer.
- Fixed #823: Process isolation not working on windows if there are spaces in path to
php.exe - Fixed #830: PHP notice in
PHPUnit_Util_XML
- Fixed #751: NaN is not equal to NaN now to match PHPs behavior
- Fixed #796 in #799: Mocking a method with a reference to an object made argument matches fail.
- Fixed #710: Ensure isolation tests display errors so they can be handled by the test runner.
- Fixed sebastianbergmann/phpunit-mock-objects#81.
- Fixed an issue where PHP complained about an undeclared
$timevariable when running tests in strict mode.
- Fixed version number.
- Fixed installation issue for Symfony/Yaml.
- Fixed #709:
assertJsonStringEqualsJsonFiledidn't work with json arrays. - Fixed #734:
phpunit.pharcannot be executed if it is renamed. - Fixed error message when
assertArrayHasKey()andassertArrayNotHasKey()are invoked with wrong arguments.
- Fixed #708: JSON matcher source files missing from
package.xml.
- Fixed #688: Invoke autoloader when checking for
Symfony\Component\Yaml\Dumper.
- Added missing file to PEAR package.
- Fixed #682:
phpunitscript appears in stacktrace (when PHPUnit is installed through Composer).
- PHPUnit now uses
$_SERVER['SCRIPT_NAME']instead of$_SERVER['_']to filter thephpunitscript (as the latter is not set when PHPUnit is invoked from Apache Ant's<exec>task, for instance).
- Fixed #682:
phpunitscript appears in stacktrace.
- Improvements to running PHPUnit from a PHAR.
- Implemented #656: Always clean up mock objects (and free up memory).
- Implemented #664: Do not rely on autoloader class map to populate blacklist.
- Added the
addUncoveredFilesFromWhitelistconfiguration setting back in. - Fixed #655: Reverted 'More than two positional arguments provided' check as it turned out to be a BC issue.
- Disable token caching (in PHP_TokenStream, used by PHP_CodeCoverage) by default (to reduce memory footprint).
- The version number is now displayed when using PHPUnit from a Composer install or Git checkout.
- Implemented #200: When using process-isolation don't die silently when unserializing the test result fails.
- Implemented #206: Added a
callbackconstraint that is useful for making complex assertions. - Implemented #207: Restore current working directory if is changed by a test case.
- Implemented #208: Added
--test-suffixthat allows specifying which filename suffixes are recognised by PHPUnit. - Implemented #295:
assertArrayHasKey()andassertArrayNotHasKey()now work with objects that implement ArrayAccess. - Implemented #333: Improved reporting when there are unused CLI arguments to avoid misconceptions.
- Implemented #377: Show messages and stracktraces in JSON output for skipped and incomplete tests.
- Implemented #424: Added
assertJson*functions that work like the existingassertXml*functions. - Implemented #492: PHPUnit now provides a
configuration.xsdschema file at http://schema.phpunit.de/configuration.xsd that can be used to validate yourphpunit.xmlandphpunit.xml.distconfiguration files. - Implemented #495: Added
--testsuiteargument, allowing to filter files/directory by parent testsuite name attribute. - Implemented #504: Expanded the
@requiresannotation to allow for checking the existence of functions and extensions using multiple@requires function namestatements. - Implemented #508 #86:
@expectedExceptionCodeand@expectedExceptionMessagecan now use constants likeClassname::CONSTas their parameters. They will get evaluated if the class constant exists and used for comparison so test authors can avoid duplication. - Implemented #512: Test listeners now trigger one autoload call instead of being silently ignored when the class was not loaded.
- Implemented #514: Failed
assertStringMatchesFormat()calls now produce a better readable diff by only marking lines as different that don't match the format specifiers. - Implemented #515: Added
assertContainsOnlyInstancesOf()to help checking Collection objects and arrays with a descriptive assertion. - Implemented #561: When an
@expectedExceptionfails it now shows the message of the thrown exception to ease debugging. - Implemented #586: Improved reporting of exceptions by printing out the previous exception names, messages and traces.
- The
@requiresannotation can now be used on the class DocBlock. Required versions can be overridden in the methods annotation, required functions and extensions will be merged. - Added
processUncoveredFilesFromWhitelistconfiguration setting. When enabled, uncovered whitelisted files are processed to properly calculate the number of executable lines. - Fixed #322 #320 thanks to #607: Commandline option now override group/exclude settings in
phpunit.xml - Fixed #440: Possible crash when using
--process-isolationwith PHP 5.3 anddetect_unicode=on. - Fixed #523:
assertAttributeEquals()now works with classes extending internal classes likeArrayIterator. - Fixed #581: Generating a diffs could add extra newlines in Windows.
- Fixed #636, #631: Using Selenium in combination with autoloaders that
die()or produce errors when a class cannot be found caused broken tests. - If no tests where executed, for example because of a
--filter, PHPUnit now prints a "No tests executed" warning instead of "OK (0 tests...)". - It is possible again to expect the generic
Exceptionclass. - Removed
addUncoveredFilesFromWhitelistconfiguration setting. - Removed deprecated
--skeleton-classand--skeleton-testswitches. The functionality is now provided by thephpunit-skelgencommand of thePHPUnit_SkeletonGeneratorpackage. - Removed deprecated
PHPUnit_Extensions_OutputTestCaseclass. - PHPUnit 3.7 is only supported on PHP 5.3.3 (or later) and PHP 5.4.7 (or later) is highly recommended.
- Implemented #47: Make cloning of arguments passed to mocked methods optional.
- Implemented #84:
getMockFromWsdl()now works with namespaces. - Fixed #90: Mocks with a fixed class name could only be created once.
- The HTML report has been redesigned.
- The new
@coversDefaultClassannotation enables short@coversannotations when working with long class names or namespaces. - The new
@coversNothingannotation can be used so tests do not record any code coverage. Useful for integration testing. - When
processUncoveredFilesFromWhitelist=FALSEis set then files that are whitelisted but not covered by a single test are now included in the code coverage but with all lines, including those that are not executable, counted as not executed. - PHP_CodeCoverage 1.2 is only supported on PHP 5.3.3 (or later) and PHP 5.4.7 (or later) is highly recommended.