github sebastianbergmann/phpunit 13.2.0
PHPUnit 13.2.0

6 hours ago

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.

Don't miss a new phpunit release

NewReleases is sending notifications on new releases.