BetterReflection
BetterReflection copied to clipboard
Update dependency phpunit/phpunit to v12
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| phpunit/phpunit (source) | ^11.5.25 -> ^12.2.5 |
Release Notes
sebastianbergmann/phpunit (phpunit/phpunit)
v12.2.5
v12.2.4: PHPUnit 12.2.4
Changed
- Including information about the Git repository (such as the commit hash and branch name) in the Open Test Reporting XML format is now an opt-in feature that can be enabled via the
--include-git-informationCLI option or theincludeGitInformationattribute in the XML configuration file
How to install or update PHPUnit
v12.2.3: PHPUnit 12.2.3
Added
- #6236:
failOnPhpunitWarningattribute on the<phpunit>element of the XML configuration file and--fail-on-phpunit-warningCLI option for controlling whether PHPUnit should fail on PHPUnit warnings (default:true) - #6239:
--do-not-fail-on-deprecation,--do-not-fail-on-phpunit-warning,--do-not-fail-on-phpunit-deprecation,--do-not-fail-on-empty-test-suite,--do-not-fail-on-incomplete,--do-not-fail-on-notice,--do-not-fail-on-risky,--do-not-fail-on-skipped, and--do-not-fail-on-warningCLI options --do-not-report-useless-testsCLI option as a replacement for--dont-report-useless-tests
Deprecated
--dont-report-useless-testsCLI option (use--do-not-report-useless-testsinstead)
Fixed
- #6243: Constraints cannot be implemented without using internal class
ExpectationFailedException
How to install or update PHPUnit
v12.2.2: PHPUnit 12.2.2
Fixed
- #6222: Data Provider seems to mess up Test Dependencies
shortenArraysForExportThresholdXML configuration setting has no effect on all arrays exported for event-related value objects
How to install or update PHPUnit
v12.2.1: PHPUnit 12.2.1
Fixed
- #6228: Variadic test methods should not warn about too many arguments from data provider
How to install or update PHPUnit
v12.2.0: PHPUnit 12.2.0
Added
Experimental Support for Open Test Reporting XML
PHPUnit has supported reporting test results in the JUnit XML format for a long time. Unfortunately, there has never been a standard schema for the JUnit XML format. Common consumers of Clover XML log files interpret these files differently, which has led to frequent problems.
To address this, the JUnit team started the Open Test Reporting project, creating and maintaining language-agnostic XML and HTML test reporting formats. Unlike JUnit XML, Open Test Reporting's XML formats are extensible.
Logging in the Open Test Reporting XML format is controlled by the new --log-otr CLI option and the new <otr> XML configuration element.
This feature is experimental and the generated XML may change in order to enhance compliance with the Open Test Reporting project's XML schema definitions. The same applies to the XML schema definitions for information that is specific for PHP and PHPUnit. Please note that such changes may occur in bugfix or minor releases and could potentially break backwards compatibility.
Experimental Support for OpenClover XML
PHPUnit has supported reporting code coverage information in the Clover XML format for a long time. Unfortunately, there has never been a standard schema for the Clover XML format. Common consumers of Clover XML log files interpret these files differently, which leads to frequent problems.
The original commercial Clover project has been superseded by the Open Source OpenClover project, which provides an XML schema for its OpenClover XML format. Rather than modifying the existing Clover XML reporter to comply with the OpenClover XML schema, thereby breaking backward compatibility, a new OpenClover XML reporter has been introduced.
This new reporter is controlled by the new CLI option, --coverage-openclover, and the new XML configuration element, <openclover>. This code coverage reporter generates XML documents that validate against the OpenClover project's XML schema definition, with one exception: the <testproject> element is not generated.
The existing Clover XML reporter, controlled by the --coverage-clover CLI option and the <clover> XML configuration element, remains unchanged.
This feature is experimental and the generated XML may change to enhance compliance with the OpenClover XML schema definition. Please note that such changes may occur in bugfix or minor releases and could potentially break backwards compatibility.
Miscellaneous
--with-telemetryCLI option that can be used together with--debugto print debugging information that includes telemetry information- The
TestCase::provideAdditionalInformation()method can now be used to emit aTest\AdditionalInformationProvidedevent - The new
Test\AfterLastTestMethodFailed,Test\AfterTestMethodFailed,Test\BeforeFirstTestMethodFailed,Test\BeforeTestMethodFailed,Test\PostConditionFailed,Test\PreConditionFailedevents are now emitted instead ofTest\AfterLastTestMethodErrored,Test\AfterTestMethodErrored,Test\BeforeFirstTestMethodErrored,Test\BeforeTestMethodErrored,Test\PostConditionErrored,Test\PreConditionErroredwhen theThrowableextendsAssertionFailedErrorto distinguish between errors and failures triggered in hook methods - The new
Test\PreparationErroredevent is now emitted instead ofTest\PreparationFailedwhen theThrowabledoes not extendAssertionFailedErrorto distinguish between errors and failures triggered during test preparation Test\PreparationFailed::throwable()
Changed
- #6165: Collect deprecations triggered by autoloading while loading/building the test suite
- Do not treat warnings differently than other issues in summary section of default output
- A warning is now emitted when both
#[CoversNothing]and#[Covers*](or#[Uses*]) are used on a test class - A warning is now emitted when the same
#[Covers*](or#[Uses*]) attribute is used multiple times on a test class - A warning is now emitted when the same code is targeted by both
#[Covers*]and#[Uses*]attributes - A warning is now emitted when a hook method such as
setUp(), for example has a#[Test]attribute - A warning is now emitted when more than one of
#[Small],#[Medium], or#[Large]is used on a test class - A warning is now emitted when a data provider provides data sets that have more values than the test method consumes using arguments
How to install or update PHPUnit
v12.1.6: PHPUnit 12.1.6
Changed
- #6210: Set default Clover coverage project name
- #6217: Improve the error message when
createStubForIntersectionOfInterfaces()is called with a class
How to install or update PHPUnit
v12.1.5: PHPUnit 12.1.5
Fixed
- #6192: Reverted change made in PHPUnit 11.5.19 due to regression
- #6199:
assertEmpty()andassertNotEmpty()use overly restrictivephpstan-assert emptydirectives
How to install or update PHPUnit
v12.1.4: PHPUnit 12.1.4
Added
displayDetailsOnAllIssuesattribute on the<phpunit>element of the XML configuration file and--display-all-issuesCLI option for controlling whether PHPUnit should display details on all issues that are triggered (default:false)failOnAllIssuesattribute on the<phpunit>element of the XML configuration file and--fail-on-all-issuesCLI option for controlling whether PHPUnit should fail on all issues that are triggered (default:false)
Changed
- #5956: Improved handling of deprecated
E_STRICTconstant
Fixed
- #6192: Positive
%aand%Amatches are not ignored from diff whenEXPECTFfails
How to install or update PHPUnit
v12.1.3: PHPUnit 12.1.3
Changed
- When gathering the telemetry information that each event has, the real size of memory allocated from the operating system is no longer used as this is grown by PHP's memory manager in chunks that are so large that small(er) increases in peak memory usage cannot be seen
- The peak memory usage returned by
memory_get_peak_usage()is now reset immediately before theTest\Preparedevent is emitted usingmemory_reset_peak_usage()so that (memory usage atTest\Finished- memory usage atTest\Prepared) is a better approximation of the memory usage of the test - The string representation of
Telemetry\Infonow uses peak memory usage instead of memory usage (this affects--log-events-verbose-text)
Fixed
- #6173: Output from
error_log()is not displayed when test fails - A "Before Test Method Errored" event is no longer emitted when a test is skipped in a "before test" method
How to install or update PHPUnit
v12.1.2: PHPUnit 12.1.2
Fixed
- #6104: Reverted change introduced in PHPUnit 12.1.1
How to install or update PHPUnit
v12.1.1: PHPUnit 12.1.1
Fixed
- #6104: Test with dependencies and data provider fails
- #6174:
willReturnMap()fails with nullable parameters when their default isnulland no argument is passed for them
How to install or update PHPUnit
v12.1.0: PHPUnit 12.1.0
Added
- #6118:
expectErrorLog()for expectingerror_log()output - #6126: Attribute
#[WithEnvironmentVariable]for setting an environment variable for the duration of a test - The
AfterTestMethodCalled,AfterTestMethodErrored,AfterTestMethodFinished,BeforeTestMethodCalled,BeforeTestMethodErrored,BeforeTestMethodFinished,PostConditionCalled,PostConditionErrored,PostConditionFinished,PreConditionCalled,PreConditionErrored, andPreConditionFinishedevent value objects now havetest()method that returns a value object representing the test method for which the hook method was called
Changed
- When code coverage processing is requested and no static analysis cache directory has been configured then a cache directory in the operating system's path used for temporary files is automatically created and used
- The static analysis of first-party source files required for the code coverage functionality is now performed before the first test is run, if code coverage processing is requested (via the XML configuration file and/or CLI options), all first-party source files are configured to be processed (which is the default), and a static analysis cache directory is available (either explicitly configured or automatically determined, see above). This has the same effect as running
phpunit --warm-coverage-cachebefore running tests.
Deprecated
- #6140: The
testClassName()method on theAfterTestMethodCalled,AfterTestMethodErrored,AfterTestMethodFinished,BeforeTestMethodCalled,BeforeTestMethodErrored,BeforeTestMethodFinished,PostConditionCalled,PostConditionErrored,PostConditionFinished,PreConditionCalled,PreConditionErrored, andPreConditionFinishedevent value objects (usetest()->className()instead)
How to install or update PHPUnit
v12.0.10: PHPUnit 12.0.10
Changed
- #6150: Reverted change introduced in PHPUnit 12.0.8
How to install or update PHPUnit
v12.0.9: PHPUnit 12.0.9
Fixed
- #6154: Method
with()on test doubles yields error with static analyzer
How to install or update PHPUnit
v12.0.8: PHPUnit 12.0.8
Changed
- #6150: Trigger warning when code coverage analysis is performed and no cache directory is configured
How to install or update PHPUnit
v12.0.7: PHPUnit 12.0.7
Fixed
- #5976: TestDox result printer does not display details about errors triggered in before-first-test and after-last-test methods
How to install or update PHPUnit
v12.0.6: PHPUnit 12.0.6
Fixed
- #6142:
$expectedand$actualare mixed up in failure description whenassertJsonFileEqualsJsonFile()fails
How to install or update PHPUnit
v12.0.5: PHPUnit 12.0.5
Fixed
- #6138: Test with failed expectation on value passed to mocked method is incorrectly considered risky
How to install or update PHPUnit
v12.0.4: PHPUnit 12.0.4
Fixed
- #6134: Missing event when child process ends unexpectedly
How to install or update PHPUnit
v12.0.3: PHPUnit 12.0.3
Changed
TestCase::__construct()is now declaredfinal(it was annotated with@finalbefore and the announced changed from@finaltofinalfor PHPUnit 12 was forgotten)
Fixed
- #5951: Restore the
includeUncoveredFilesconfiguration option - #6133: Precision loss in aggregated test suite execution time(s) reported by JUnit XML logger
- A
Test\PreparationFailedevent is now emitted in addition to aTest\Erroredevent when an unexpected exception is triggered in a before-test method - A
Test\Passedevent is no longer emitted in addition to aTest\FailedorTest\Erroredevent when an assertion failure or an unexpected exception is triggered in an after-test method - A
TestSuite\Finishedevent is now emitted when a before-first-test method errors
How to install or update PHPUnit
v12.0.2: PHPUnit 12.0.2
Changed
- Updated dependencies for PHAR distribution
How to install or update PHPUnit
v12.0.1: PHPUnit 12.0.1
Fixed
- Deprecation message for
Assert::isType(),assertContainsOnly(),assertNotContainsOnly(), andcontainsOnly()
How to install or update PHPUnit
v12.0.0: PHPUnit 12.0.0
Added
- #5984:
#[CoversClassesThatExtendClass]and#[UsesClassesThatExtendClass] - #5985:
#[CoversClassesThatImplementInterface]and#[UsesClassesThatImplementInterface] - #6073:
#[CoversNamespace]and#[UsesNamespace] - #6074:
#[RequiresEnvironmentVariable]
Changed
- #5872: The default value for
shortenArraysForExportThresholdis now10(limit export of arrays to 10 levels) instead of0(do not limit export of arrays)
Deprecated
- #6053:
Assert::isType()(was soft-deprecated in PHPUnit 11.5) - #6056:
assertContainsOnly()(was soft-deprecated in PHPUnit 11.5) - #6056:
assertNotContainsOnly()(was soft-deprecated in PHPUnit 11.5) - #6060:
containsOnly()(was soft-deprecated in PHPUnit 11.5)
Removed
- #5215:
TestCase::iniSet() - #5217:
TestCase::setLocale() - #5246:
TestCase::createTestProxy() - #5247:
TestCase::getMockForAbstractClass() - #5248:
TestCase::getMockFromWsdl() - #5249:
TestCase::getMockForTrait() - #5250:
TestCase::getObjectForTrait() - #5310:
MockBuilder::enableAutoload()andMockBuilder::disableAutoload() - #5311:
MockBuilder::allowMockingUnknownTypes()andMockBuilder::disallowMockingUnknownTypes() - #5312:
MockBuilder::enableProxyingToOriginalMethods(),MockBuilder::disableProxyingToOriginalMethods(), andMockBuilder::setProxyTarget() - #5313:
MockBuilder::getMockForTrait() - #5314:
MockBuilder::getMockForAbstractClass() - #5316:
MockBuilder::enableArgumentCloning()andMockBuilder::disableArgumentCloning() - #5321:
MockBuilder::addMethods() - #5416: Support for doubling interfaces (or classes) that have a method named
method - #5424:
TestCasemethods for creating return stub configuration objects - #5473:
assertStringNotMatchesFormat()andassertStringNotMatchesFormatFile() - #5536: Support for configuring expectations using
expects()on test stubs - #5541: Support for metadata in doc-comments
- #5710: Support for using comma-separated values with the
--group,--exclude-group,--covers,--uses, and--test-suffixCLI options - #5756: Support for the
restrictDeprecationsattribute on the<source>element of the XML configuration file - #5801: Support for targeting traits with
#[CoversClass]and#[UsesClass]attributes - #5978: Support for PHP 8.2
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
- [ ] If you want to rebase/retry this PR, check this box
Read more about the use of Renovate Bot within ocramius/* projects.
⚠️ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:
- any of the package files in this branch needs updating, or
- the branch becomes conflicted, or
- you click the rebase/retry checkbox if found above, or
- you rename this PR's title to start with "rebase!" to trigger it manually
The artifact failure details are included below:
File name: composer.lock
Command failed: composer update phpunit/phpunit:12.4.4 --with-dependencies --ignore-platform-req='ext-*' --ignore-platform-req='lib-*' --no-ansi --no-interaction --no-scripts --no-autoloader --no-plugins --minimal-changes
Loading composer repositories with package information
Dependency nikic/php-parser is also a root requirement. Package has not been listed as an update argument, so keeping locked at old version. Use --with-all-dependencies (-W) to include root dependencies.
Updating dependencies
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Root composer.json requires phpunit/phpunit ^12.4.4 -> satisfiable by phpunit/phpunit[12.4.4].
- phpunit/phpunit 12.4.4 requires php >=8.3 -> your php version (8.2.99; overridden via config.platform, actual: 8.2.29) does not satisfy that requirement.
Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.