[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