13.3.1Оновлено Aug 17, 2026

phpunit/phpunit

The PHP Unit Testing framework.

Рівень ризику20
Для 13.3.1 нотатки журналу змін ще не знайдено. Показуємо останній випуск із нотатками: 13.2.0.
13.2.02026-06-05T03:14:45Z
Нотатки до випуску

Added

  • #3387: Specify a list of tests to run
  • #4201: Handle interrupts and display current test results
  • #4501: Option to mark test as risky when it does not contribute to code coverage
  • #5757: Add assertions for ignoring whitespace differences in strings
  • #5810: Do not dump arrays and objects in failure messages of IsTrue, IsFalse, IsNull, IsFinite, IsInfinite, and IsNan constraints
  • #5838: Inherit #[RunTestsInSeparateProcesses] from parent test classes
  • #5922: assertContainsEquals() should use sebastian/comparator for element comparison
  • #6000: Report PHPT test as risky when --SKIPIF-- does not have standard-output side effect
  • #6075: Support test execution order sorted by descending duration
  • #6346: Emit warning when conflicting CLI options are used
  • #6534: Make $_dataName available to #[TestDoxFormatter] callbacks
  • #6559: Improved API for exception message expectations
  • #6565: Optional $skipWhenEmpty parameter for #[DataProvider] and #[DataProviderExternal]
  • #6566: Allow --stop-on-defect, --stop-on-error, etc. to accept an optional threshold
  • #6567: Make diff context lines configurable
  • #6574: Improve willReturnMap() with constraint support and strict matching
  • #6575: --list-test-ids CLI option and enhance --filter CLI option to support test ID syntax
  • #6577: --run-test-id <test-id> CLI option that accepts a single test ID for exact matching
  • #6579: Properly handle issues triggered outside of tests
  • #6597: Compact output (activated through --compact CLI option and PHPUNIT_COMPACT_OUTPUT=1 environment variable)
  • #6598: --disable-coverage-targeting CLI option
  • #6602: Separate configuration for branch coverage from path coverage
  • #6606: Support for partially ordered parameter sets in mock object expectations
  • #6611: Add CPU time to telemetry
  • #6681: Comment-aware variants of XML comparison assertions
  • The executionOrder attribute in the XML configuration file now accepts defects combined with any main order, as well as three-way combinations of depends/no-depends, defects, and a main order (for example, depends,defects,duration-ascending)
  • --validate-configuration CLI option to validate an XML configuration file for PHPUnit
  • Report TestDox information in Open Test Reporting XML
  • Report per-test and per-test-suite resource usage (time, memory usage, peak memory usage) in Open Test Reporting XML
  • Report number of assertions performed for each test in Open Test Reporting XML
  • Report structured comparison failure details (expected, actual, diff) in Open Test Reporting XML
  • Report random order seed in Open Test Reporting XML when test execution order is randomised

Changed

  • #5873: Chain previously registered error handler instead of silently disabling PHPUnit's error handling
  • #6535: Use sebastian/file-filter in SourceFilter::includes() for issue trigger identification
  • #6581: Allow #[IgnoreDeprecations] to be repeated
  • #6609: Skip data providers whose method cannot match --filter
  • #6685: Generate failure messages for inverse assertions by authoring negations, not by rewriting strings
  • Only errors and failures are now considered for "defect first" test reordering (tests that triggered deprecations, notices, or warnings as well as incomplete, risky, and skipped tests were previous also considered)
  • A warning is now emitted when closures are compared for equality using the IsEqual, IsEqualCanonicalizing, IsEqualIgnoringCase, IsEqualWithDelta, and TraversableContainsEqual constraints or the assertEquals(), assertEqualsCanonicalizing(), assertEqualsIgnoringCase(), assertEqualsWithDelta(), and assertContainsEquals() assertions

Deprecated

  • #6075: --order-by duration CLI option, use --order-by duration-ascending instead
  • #6075: --order-by size CLI option, use --order-by size-ascending instead
  • #6075: executionOrder="duration" XML configuration attribute value, use executionOrder="duration-ascending" instead
  • #6075: executionOrder="size" XML configuration attribute value, use executionOrder="size-ascending" instead
  • #6560: Soft-deprecate expectExceptionMessage(), use expectExceptionMessageIsOrContains() instead

Fixed

  • #5845: Error handlers registered before PHPUnit (e.g. via auto_prepend_file) cause false "risky test" warnings
  • #5851: Output buffer manipulation in tests causes incorrect capture, hangs, and silent failures
  • #6582: TestSuiteSorter::cmpSize() does not handle TestSuite objects for TestCase classes
  • ---
  • Learn how to install or update PHPUnit 13.2 in the documentation.

Keep up to date with PHPUnit:

  • You can follow @phpunit@phpc.social to stay up to date with PHPUnit's development.
  • You can subscribe to the PHPUnit Updates newsletter to receive updates about and tips for PHPUnit.

PHPUnit

CI Status codecov Latest Stable Version Total Downloads Monthly Downloads Daily Downloads

PHPUnit

PHPUnit is a programmer-oriented testing framework for PHP. It is an instance of the xUnit architecture for unit testing frameworks.

Installation

We distribute a PHP Archive (PHAR) that has all required dependencies of PHPUnit bundled in a single file:

$ wget https://phar.phpunit.de/phpunit-X.Y.phar
$ php phpunit-X.Y.phar --version

Please replace X.Y with the version of PHPUnit you are interested in.

Alternatively, you may use Composer to download and install PHPUnit as well as its dependencies. Please refer to the documentation for details on how to install PHPUnit.

Contribute

Please refer to CONTRIBUTING.md for information on how to contribute to PHPUnit and its related projects.

A big "Thank you!" to everyone who has contributed to PHPUnit! You can find a detailed list of contributors on every PHPUnit related package on GitHub.

Here is a list of all components that are primarily developed and maintained by Sebastian Bergmann:

A very special thanks to everyone who has contributed to the PHPUnit Manual.

In addition to the components listed above, PHPUnit depends on the components listed below:

These tools are used to develop PHPUnit:

Sponsors

It has taken Sebastian Bergmann thousands of hours to develop, test, and support PHPUnit. You can sponsor his Open Source work through GitHub Sponsors, for example.

These businesses support Sebastian Bergmann's work on PHPUnit:

Bubble Shooter in2it vof Mailtrap
Testmo GmbH TestMu AI Tideways GmbH
TYPO3 GmbH VEMA Versicherungsmakler Genossenschaft eG

Would you like to see your logo here as well as on the PHPUnit website? Contact Sebastian Bergmann at sponsoring@phpunit.de to learn more about how you can support his work on PHPUnit.

Whether you are a CEO, CFO, CTO, or a developer: your company surely depends on Open Source software. It is time to pay your share and support maintainers like Sebastian Bergmann.

Порівняння версій

Оберіть дві версії з нотатки журналу змін щоб переглянути зміни.

Тут показані лише випуски, для яких є нотатки журналу змін.

Для 13.3.1 нотатки журналу змін ще не знайдено. Показуємо останній випуск із нотатками: 13.2.0.

Оберіть дві версії щоб порівняти зміни.