All notable changes of the PHPUnit 11.0 release series are documented in this file using the Keep a CHANGELOG principles.
11.0.0 - 2024-02-02
- #4964: Enable named data sets with the
#[TestWith*]attributes - #5225: Allow providing named arguments from a data provider
- #5600: Assertions for comparing arrays while ignoring a specified list of keys
- #5605:
expectUserDeprecationMessage()andexpectUserDeprecationMessageMatches()for expectingE_USER_DEPRECATEDissues - #5620: Implement
groupattribute on<directory>and<file>elements (children of<testsuite>) to add all tests found in a directory or file to a specified group - #5629:
--exclude-filterCLI option for excluding tests from execution - #5642:
--list-test-filesCLI option to print the list of test files
- #5213: Make
TestCasemethodsprotectedthat should have beenprotectedall along - #5254: Make
TestCasemethodsfinalthat should have beenfinalall along - #5619: Check and restore error/exception global handlers
- The format of the XML document generated using the
--list-tests-xmlCLI option has been changed small,medium, andlargecan no longer be used as group names with the#[Group]attribute- A test can no longer be part of multiple test suites that are configured in the XML configuration file
--check-versionnow exits with a shell exit code that indicates failure when the version is not the latest version
- #4505: Support for metadata in doc-comments
- #5214:
TestCase::iniSet()(this method was already soft-deprecated in PHPUnit 10) - #5216:
TestCase::setLocale()(this method was already soft-deprecated in PHPUnit 10) - #5240:
TestCase::createTestProxy()(this method was already soft-deprecated in PHPUnit 10) - #5241:
TestCase::getMockForAbstractClass()(this method was already soft-deprecated in PHPUnit 10) - #5242:
TestCase::getMockFromWsdl()(this method was already soft-deprecated in PHPUnit 10) - #5243:
TestCase::getMockForTrait()(this method was already soft-deprecated in PHPUnit 10) - #5244:
TestCase::getObjectForTrait()(this method was already soft-deprecated in PHPUnit 10) - #5305:
MockBuilder::getMockForAbstractClass()(this method was already soft-deprecated in PHPUnit 10) - #5306:
MockBuilder::getMockForTrait()(this method was already soft-deprecated in PHPUnit 10) - #5307:
MockBuilder::enableProxyingToOriginalMethods(),MockBuilder::disableProxyingToOriginalMethods(), andMockBuilder::setProxyTarget()(these methods were already soft-deprecated in PHPUnit 10) - #5308:
MockBuilder::allowMockingUnknownTypes()andMockBuilder::disallowMockingUnknownTypes()(these methods were already soft-deprecated in PHPUnit 10) - #5309:
MockBuilder::enableAutoload()andMockBuilder::disableAutoload()(these methods were already soft-deprecated in PHPUnit 10) - #5315:
MockBuilder::enableArgumentCloning()andMockBuilder::disableArgumentCloning()(these methods were already soft-deprecated in PHPUnit 10) - #5320:
MockBuilder::addMethods()(this method was already soft-deprecated in PHPUnit 10) - #5415: Support for doubling interfaces (or classes) that have a method named
method - #5423:
TestCase::returnValue(),TestCase::onConsecutiveCalls(),TestCase::returnValueMap(),TestCase::returnArgument(),TestCase::returnSelf(), andTestCase::returnCallback()(these methods were already soft-deprecated in PHPUnit 10) - #5472:
assertStringNotMatchesFormat()andassertStringNotMatchesFormatFile()(these methods were already soft-deprecated in PHPUnit 10) - #5535: Configuring expectations using
expects()on test stubs
- #4600: Support for old cache configuration
- #4604: Support for
backupStaticAttributesattribute in XML configuration file - #4779: Support for
forceCoversAnnotationandbeStrictAboutCoversAnnotationattributes in XML configuration file - #5100: Support for non-static data provider methods, non-public data provider methods, and data provider methods that declare parameters
- #5101: Support for PHP 8.1
- #5272: Optional parameters of
PHPUnit\Framework\Constraint\IsEqual::__construct() - #5329: Support for configuring include/exclude list for code coverage using the
<coverage>element - #5482:
dataSetattribute fortestCaseMethodelements in the XML document generated by--list-tests-xml - #5514:
IgnoreClassForCodeCoverage,IgnoreMethodForCodeCoverage, andIgnoreFunctionForCodeCoverageattributes - #5604:
Test\AssertionFailedandTest\AssertionSucceededevents registerMockObjectsFromTestArgumentsRecursivelyattribute on the<phpunit>element of the XML configuration fileCodeCoverageIgnoreattributePHPUnit\TextUI\Configuration\Configuration::coverageExcludeDirectories()(usePHPUnit\TextUI\Configuration\Configuration::source()->excludeDirectories()instead)PHPUnit\TextUI\Configuration\Configuration::coverageExcludeFiles()(usePHPUnit\TextUI\Configuration\Configuration::source()->excludeFiles()instead)PHPUnit\TextUI\Configuration\Configuration::coverageIncludeDirectories()(usePHPUnit\TextUI\Configuration\Configuration::source()->includeDirectories()instead)PHPUnit\TextUI\Configuration\Configuration::coverageIncludeFiles()(usePHPUnit\TextUI\Configuration\Configuration::source()->includeFiles()instead)PHPUnit\TextUI\Configuration\Configuration::loadPharExtensions()(usePHPUnit\TextUI\Configuration\Configuration::noExtensions()instead)PHPUnit\TextUI\Configuration\Configuration::hasNonEmptyListOfFilesToBeIncludedInCodeCoverageReport()(usePHPUnit\TextUI\Configuration\Configuration::source()->notEmpty()instead)PHPUnit\TextUI\Configuration\Configuration::restrictDeprecations()(usePHPUnit\TextUI\Configuration\Configuration::source()->restrictDeprecations()instead)PHPUnit\TextUI\Configuration\Configuration::restrictNotices()(usePHPUnit\TextUI\Configuration\Configuration::source()->restrictNotices()instead)PHPUnit\TextUI\Configuration\Configuration::restrictWarnings()(usePHPUnit\TextUI\Configuration\Configuration::source()->restrictWarnings()instead)PHPUnit\TextUI\Configuration\Configuration::cliArgument()(usePHPUnit\TextUI\Configuration\Configuration::cliArguments()[0]instead)PHPUnit\TextUI\Configuration\Configuration::hasCliArgument()(usePHPUnit\TextUI\Configuration\Configuration::hasCliArguments()instead)PHPUnit\TextUI\Configuration\Configuration::registerMockObjectsFromTestArgumentsRecursively()PHPUnit\Framework\Constraint\Constraint::exporter()