[wp-trac] [WordPress Trac] #46149: PHPUnit 8.x support
WordPress Trac
noreply at wordpress.org
Sat Aug 7 10:29:57 UTC 2021
#46149: PHPUnit 8.x support
-------------------------------------------------+-------------------------
Reporter: SergeyBiryukov | Owner: netweb
Type: task (blessed) | Status: assigned
Priority: high | Milestone: 5.9
Component: Build/Test Tools | Version:
Severity: normal | Resolution:
Keywords: has-patch has-unit-tests early php8 | Focuses:
needs-dev-note |
-------------------------------------------------+-------------------------
Comment (by SergeyBiryukov):
In [changeset:"51568" 51568]:
{{{
#!CommitTicketReference repository="" revision="51568"
Build/Test Tools: Implement use of the `void` solution.
> PHPUnit 8.0.0 introduced a `void` return type declaration to the
"fixture" methods – `setUpBeforeClass()`, `setUp()`, `tearDown()` and
`tearDownAfterClass()`. As the `void` return type was not introduced until
PHP 7.1, this makes it more difficult to create cross-version compatible
tests when using fixtures, due to signature mismatches.
>
> The `Yoast\PHPUnitPolyfills\TestCases\TestCase` overcomes the signature
mismatch by having two versions. The correct one will be loaded depending
on the PHPUnit version being used.
>
> When using this TestCase, if an individual test, or another TestCase
which extends this TestCase, needs to overload any of the "fixture"
methods, it should do so by using a snake_case variant of the original
fixture method name, i.e. `set_up_before_class()`, `set_up()`,
`assert_pre_conditions()`, `assert_post_conditions()`, `tear_down()`, and
`tear_down_after_class()`.
>
> The snake_case methods will automatically be called by PHPUnit.
>
> > IMPORTANT: The snake_case methods should not call the PHPUnit parent,
i.e. do not use `parent::setUp()` from within an overloaded `set_up()`
method. If necessary, DO call `parent::set_up()`.
Reference: https://github.com/Yoast/PHPUnit-Polyfills#testcases
This commit renames all declared fixture methods, and calls to parent
versions of those fixture methods, from camelCase to snake_case.
Follow-up to [51559-51567].
Props jrf, hellofromTonya, johnbillion, netweb, dd32, pputzer,
SergeyBiryukov.
See #46149.
}}}
--
Ticket URL: <https://core.trac.wordpress.org/ticket/46149#comment:84>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list