Make WordPress Core


Ignore:
Timestamp:
08/07/2021 10:29:41 AM (3 years ago)
Author:
SergeyBiryukov
Message:

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.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/tests/dbdelta.php

    r50450 r51568  
    3333     * Make sure the upgrade code is loaded before the tests are run.
    3434     */
    35     public static function setUpBeforeClass() {
    36 
    37         parent::setUpBeforeClass();
     35    public static function set_up_before_class() {
     36
     37        parent::set_up_before_class();
    3838
    3939        require_once ABSPATH . 'wp-admin/includes/upgrade.php';
     
    4343     * Create a custom table to be used in each test.
    4444     */
    45     public function setUp() {
     45    public function set_up() {
    4646
    4747        global $wpdb;
     
    8282        // This has to be called after the `CREATE TABLE` above as the `_create_temporary_tables` filter
    8383        // causes it to create a temporary table, and a temporary table cannot use a FULLTEXT index.
    84         parent::setUp();
     84        parent::set_up();
    8585    }
    8686
     
    8888     * Delete the custom table on teardown.
    8989     */
    90     public function tearDown() {
    91 
    92         global $wpdb;
    93 
    94         parent::tearDown();
     90    public function tear_down() {
     91
     92        global $wpdb;
     93
     94        parent::tear_down();
    9595
    9696        // This has to be called after the parent `tearDown()` method.
Note: See TracChangeset for help on using the changeset viewer.