All notable changes of the PHPUnit 10.1 release series are documented in this file using the Keep a CHANGELOG principles.
10.1.0 - 2023-04-14
- #5168: Allow test runner extensions to disable default progress and result printing
- #5196: Optionally (fail|stop) on (notice|deprecation) events
- #5201: Add
TestCase::registerFailureType()to register interface that marks exceptions to be treated as failures, not errors - #5231:
assertObjectHasProperty()andassertObjectNotHasProperty() - #5237: Implement
IgnoreClassForCodeCoverage,IgnoreMethodForCodeCoverage, andIgnoreFunctionForCodeCoverageattributes - #5293: Allow to restrict the reporting of deprecations, notices, and warnings to specified directories
- #5294: Introduce
<source>XML configuration element to configure "your code" - #5300:
TestCase::transformException()hook method TestCase::createConfiguredStub()was added as an analogon toTestCase::createConfiguredMock()- The
PHPUnit\Event\TestRunner\ExecutionAbortedevent is now emitted when the execution of tests is stopped due tostopOn*attributes on the<phpunit>XML configuration element or due to--stop-on-*CLI options - Event telemetry now includes status information for PHP's garbage collector
- #5198: Display PHPUnit deprecations when TestDox output is used
- #5326: Ignore suppressed
E_USER_*errors again
- #5236: Deprecate the
CodeCoverageIgnoreattribute - #5240: Deprecate
TestCase::createTestProxy()(this method only has a@deprecatedannotation for now; using this method will trigger a deprecation warning in PHPUnit 11; this method will be removed in PHPUnit 12) - #5241: Deprecate
TestCase::getMockForAbstractClass()(this method only has a@deprecatedannotation for now; using this method will trigger a deprecation warning in PHPUnit 11; this method will be removed in PHPUnit 12) - #5242: Deprecate
TestCase::getMockFromWsdl()(this method only has a@deprecatedannotation for now; using this method will trigger a deprecation warning in PHPUnit 11; this method will be removed in PHPUnit 12) - #5243: Deprecate
TestCase::getMockForTrait()(this method only has a@deprecatedannotation for now; using this method will trigger a deprecation warning in PHPUnit 11; this method will be removed in PHPUnit 12) - #5244: Deprecate
TestCase::getObjectForTrait()(this method only has a@deprecatedannotation for now; using this method will trigger a deprecation warning in PHPUnit 11; this method will be removed in PHPUnit 12) - #5305: Deprecate
MockBuilder::getMockForAbstractClass()(this method only has a@deprecatedannotation for now; using this method will trigger a deprecation warning in PHPUnit 11; this method will be removed in PHPUnit 12) - #5306: Deprecate
MockBuilder::getMockForTrait()(this method only has a@deprecatedannotation for now; using this method will trigger a deprecation warning in PHPUnit 11; this method will be removed in PHPUnit 12) - #5307: Deprecate
MockBuilder::enableProxyingToOriginalMethods(),MockBuilder::disableProxyingToOriginalMethods(), andMockBuilder::setProxyTarget()(these methods only have a@deprecatedannotation for now; using these methods will trigger a deprecation warning in PHPUnit 11; these methods will be removed in PHPUnit 12) - #5308: Deprecate
MockBuilder::allowMockingUnknownTypes()andMockBuilder::disallowMockingUnknownTypes()(these methods only have a@deprecatedannotation for now; using these methods will trigger a deprecation warning in PHPUnit 11; these methods will be removed in PHPUnit 12) - #5315: Deprecate
MockBuilder::enableArgumentCloning()andMockBuilder::disableArgumentCloning()(these methods only have a@deprecatedannotation for now; using these methods will trigger a deprecation warning in PHPUnit 11; these methods will be removed in PHPUnit 12) - #5320: Deprecate
MockBuilder::addMethods()(this method only has a@deprecatedannotation for now; using this method will trigger a deprecation warning in PHPUnit 11; this method will be removed in PHPUnit 12) - Using
<coverage><include>...</include><exclude>...</exclude></coverage>in the XML configuration file to configure code that should be included in code coverage reporting is now deprecated and support for this will be removed in PHPUnit 11 (use<source><include>...</include><exclude>...</exclude></source>instead) PHPUnit\TextUI\Configuration\Configuration::hasNonEmptyListOfFilesToBeIncludedInCodeCoverageReport()(usehasNonEmptyListOfSourceFiles()instead)PHPUnit\TextUI\Configuration\Configuration::coverageIncludeDirectories()(usesourceIncludeDirectories()instead)PHPUnit\TextUI\Configuration\Configuration::coverageIncludeFiles()(usesourceIncludeFiles()instead)PHPUnit\TextUI\Configuration\Configuration::coverageExcludeDirectories()(usesourceExcludeDirectories()instead)PHPUnit\TextUI\Configuration\Configuration::coverageExcludeFiles()(usesourceExcludeFiles()instead)