Skip to content

Update dependency phpunit/phpunit to v12 #1065

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: 2.7
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Feb 7, 2025

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
phpunit/phpunit (source) ^9.5.21 || ^10.5.9 || ^11.0.0 -> ^9.5.21 || ^10.5.9 || ^11.0.0 || ^12.0.0 age adoption passing confidence

Warning

Some dependencies could not be looked up. Check the warning logs for more information.


Release Notes

sebastianbergmann/phpunit (phpunit/phpunit)

v12.2.2: PHPUnit 12.2.2

Compare Source

Fixed
  • #​6222: Data Provider seems to mess up Test Dependencies
  • shortenArraysForExportThreshold XML 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

Compare Source

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

Compare Source

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-telemetry CLI option that can be used together with --debug to print debugging information that includes telemetry information
  • The TestCase::provideAdditionalInformation() method can now be used to emit a Test\AdditionalInformationProvided event
  • The new Test\AfterLastTestMethodFailed, Test\AfterTestMethodFailed, Test\BeforeFirstTestMethodFailed, Test\BeforeTestMethodFailed, Test\PostConditionFailed, Test\PreConditionFailed events are now emitted instead of Test\AfterLastTestMethodErrored, Test\AfterTestMethodErrored, Test\BeforeFirstTestMethodErrored, Test\BeforeTestMethodErrored, Test\PostConditionErrored, Test\PreConditionErrored when the Throwable extends AssertionFailedError to distinguish between errors and failures triggered in hook methods
  • The new Test\PreparationErrored event is now emitted instead of Test\PreparationFailed when the Throwable does not extend AssertionFailedError to 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

Compare Source

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

Compare Source

Fixed
  • #​6192: Reverted change made in PHPUnit 11.5.19 due to regression
  • #​6199: assertEmpty() and assertNotEmpty() use overly restrictive phpstan-assert empty directives

How to install or update PHPUnit

v12.1.4: PHPUnit 12.1.4

Compare Source

Added
  • displayDetailsOnAllIssues attribute on the <phpunit> element of the XML configuration file and --display-all-issues CLI option for controlling whether PHPUnit should display details on all issues that are triggered (default: false)
  • failOnAllIssues attribute on the <phpunit> element of the XML configuration file and --fail-on-all-issues CLI option for controlling whether PHPUnit should fail on all issues that are triggered (default: false)
Changed
  • #​5956: Improved handling of deprecated E_STRICT constant
Fixed
  • #​6192: Positive %a and %A matches are not ignored from diff when EXPECTF fails

How to install or update PHPUnit

v12.1.3: PHPUnit 12.1.3

Compare Source

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 the Test\Prepared event is emitted using memory_reset_peak_usage() so that (memory usage at Test\Finished - memory usage at Test\Prepared) is a better approximation of the memory usage of the test
  • The string representation of Telemetry\Info now 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

Compare Source

Fixed
  • #​6104: Reverted change introduced in PHPUnit 12.1.1

How to install or update PHPUnit

v12.1.1: PHPUnit 12.1.1

Compare Source

Fixed
  • #​6104: Test with dependencies and data provider fails
  • #​6174: willReturnMap() fails with nullable parameters when their default is null and no argument is passed for them

How to install or update PHPUnit

v12.1.0: PHPUnit 12.1.0

Compare Source

Added
  • #​6118: expectErrorLog() for expecting error_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, and PreConditionFinished event value objects now have test() 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-cache before running tests.
Deprecated
  • #​6140: The testClassName() method on the AfterTestMethodCalled, AfterTestMethodErrored, AfterTestMethodFinished, BeforeTestMethodCalled, BeforeTestMethodErrored, BeforeTestMethodFinished, PostConditionCalled, PostConditionErrored, PostConditionFinished, PreConditionCalled, PreConditionErrored, and PreConditionFinished event value objects (use test()->className() instead)

How to install or update PHPUnit

v12.0.10: PHPUnit 12.0.10

Compare Source

Changed
  • #​6150: Reverted change introduced in PHPUnit 12.0.8

How to install or update PHPUnit

v12.0.9: PHPUnit 12.0.9

Compare Source

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

Compare Source

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

Compare Source

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

Compare Source

Fixed
  • #​6142: $expected and $actual are mixed up in failure description when assertJsonFileEqualsJsonFile() fails

How to install or update PHPUnit

v12.0.5: PHPUnit 12.0.5

Compare Source

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

Compare Source

Fixed
  • #​6134: Missing event when child process ends unexpectedly

How to install or update PHPUnit

v12.0.3: PHPUnit 12.0.3

Compare Source

Changed
  • TestCase::__construct() is now declared final (it was annotated with @final before and the announced changed from @final to final for PHPUnit 12 was forgotten)
Fixed
  • #​5951: Restore the includeUncoveredFiles configuration option
  • #​6133: Precision loss in aggregated test suite execution time(s) reported by JUnit XML logger
  • A Test\PreparationFailed event is now emitted in addition to a Test\Errored event when an unexpected exception is triggered in a before-test method
  • A Test\Passed event is no longer emitted in addition to a Test\Failed or Test\Errored event when an assertion failure or an unexpected exception is triggered in an after-test method
  • A TestSuite\Finished event is now emitted when a before-first-test method errors

How to install or update PHPUnit

v12.0.2: PHPUnit 12.0.2

Compare Source

Changed
  • Updated dependencies for PHAR distribution

How to install or update PHPUnit

v12.0.1: PHPUnit 12.0.1

Compare Source

Fixed
  • Deprecation message for Assert::isType(), assertContainsOnly(), assertNotContainsOnly(), and containsOnly()

How to install or update PHPUnit

v12.0.0: PHPUnit 12.0.0

Compare Source

Added
  • #​5984: #[CoversClassesThatExtendClass] and #[UsesClassesThatExtendClass]
  • #​5985: #[CoversClassesThatImplementInterface] and #[UsesClassesThatImplementInterface]
  • #​6073: #[CoversNamespace] and #[UsesNamespace]
  • #​6074: #[RequiresEnvironmentVariable]
Changed
  • #​5872: The default value for shortenArraysForExportThreshold is now 10 (limit export of arrays to 10 levels) instead of 0 (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() and MockBuilder::disableAutoload()
  • #​5311: MockBuilder::allowMockingUnknownTypes() and MockBuilder::disallowMockingUnknownTypes()
  • #​5312: MockBuilder::enableProxyingToOriginalMethods(), MockBuilder::disableProxyingToOriginalMethods(), and MockBuilder::setProxyTarget()
  • #​5313: MockBuilder::getMockForTrait()
  • #​5314: MockBuilder::getMockForAbstractClass()
  • #​5316: MockBuilder::enableArgumentCloning() and MockBuilder::disableArgumentCloning()
  • #​5321: MockBuilder::addMethods()
  • #​5416: Support for doubling interfaces (or classes) that have a method named method
  • #​5424: TestCase methods for creating return stub configuration objects
  • #​5473: assertStringNotMatchesFormat() and assertStringNotMatchesFormatFile()
  • #​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-suffix CLI options
  • #​5756: Support for the restrictDeprecations attribute 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

How to install or update PHPUnit


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

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/phpunit-phpunit-12.x branch from 350ff8e to e980d43 Compare April 5, 2025 13:26
@renovate renovate bot force-pushed the renovate/phpunit-phpunit-12.x branch from e980d43 to 0cf44b9 Compare April 18, 2025 21:19
@renovate renovate bot force-pushed the renovate/phpunit-phpunit-12.x branch from 0cf44b9 to 73c7512 Compare May 5, 2025 12:19
@renovate renovate bot changed the base branch from 2.6 to 2.7 May 5, 2025 12:19
@renovate renovate bot force-pushed the renovate/phpunit-phpunit-12.x branch from 73c7512 to 7ebb16e Compare May 5, 2025 12:27
@renovate renovate bot force-pushed the renovate/phpunit-phpunit-12.x branch 2 times, most recently from 4204a9f to 1051678 Compare May 21, 2025 23:08
@renovate renovate bot force-pushed the renovate/phpunit-phpunit-12.x branch from 1051678 to 7ba9f3e Compare June 12, 2025 20:57
@renovate renovate bot force-pushed the renovate/phpunit-phpunit-12.x branch from 7ba9f3e to 76ceccd Compare June 12, 2025 21:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants