All notable changes of the PHPUnit 10.1 release series are documented in this file using the Keep a CHANGELOG principles.
10.1.1 - 2023-04-17
- Tests that have
#[DoesNotPerformAssertions]
(or@doesNotPerformAssertions
) do not contribute to code coverage #[DoesNotPerformAssertions]
(and@doesNotPerformAssertions
) is only interpreted on the method level, not on the class level
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
, andIgnoreFunctionForCodeCoverage
attributes - #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\ExecutionAborted
event 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
CodeCoverageIgnore
attribute - #5240: Deprecate
TestCase::createTestProxy()
(this method only has a@deprecated
annotation 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@deprecated
annotation 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@deprecated
annotation 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@deprecated
annotation 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@deprecated
annotation 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@deprecated
annotation 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@deprecated
annotation 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@deprecated
annotation 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@deprecated
annotation 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@deprecated
annotation 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@deprecated
annotation 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()
(usesource()->notEmpty()
instead)PHPUnit\TextUI\Configuration\Configuration::coverageIncludeDirectories()
(usesource()->includeDirectories()
instead)PHPUnit\TextUI\Configuration\Configuration::coverageIncludeFiles()
(usesource()->includeFiles()
instead)PHPUnit\TextUI\Configuration\Configuration::coverageExcludeDirectories()
(usesource()->excludeDirectories()
instead)PHPUnit\TextUI\Configuration\Configuration::coverageExcludeFiles()
(usesource()->excludeFiles()
instead)