Make WordPress Core


Ignore:
Timestamp:
09/01/2022 10:54:19 PM (3 years ago)
Author:
SergeyBiryukov
Message:

Tests: Explicitly mark empty REST API tests as not performing any assertions.

WordPress core test suite uses PHPUnit's beStrictAboutTestsThatDoNotTestAnything option set to true, which marks a test as risky when no assertions are performed.

REST API test classes have some empty tests for non-implemented methods because these test classes extend the abstract WP_Test_REST_Controller_Testcase class, which requires several methods to be implemented that don't necessarily make sense for all REST API routes.

As these tests are intentionally empty, they were previously marked as skipped, so that they are not reported as risky.

This commit aims to further reduce noise in the test suite and effectively ignores these empty tests altogether, which seems like a more appropriate option at this time.

The @doesNotPerformAssertions annotation can be reconsidered in the future when the tests are either removed as unnecessary or updated to actually perform assertions related to their behavior.

Follow-up to [40534], [41176], [41228], [53921].

See #40538, #41463, #55652.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/tests/rest-api/wpRestUrlDetailsController.php

    r54056 r54058  
    10491049    }
    10501050
     1051    /**
     1052     * @doesNotPerformAssertions
     1053     */
    10511054    public function test_context_param() {
    1052         $this->markTestSkipped( 'Controller does not use get_context_param().' );
    1053     }
    1054 
     1055        // Controller does not use get_context_param().
     1056    }
     1057
     1058    /**
     1059     * @doesNotPerformAssertions
     1060     */
    10551061    public function test_get_item() {
    1056         $this->markTestSkipped( 'Controller does not implement get_item().' );
    1057     }
    1058 
     1062        // Controller does not implement get_item().
     1063    }
     1064
     1065    /**
     1066     * @doesNotPerformAssertions
     1067     */
    10591068    public function test_create_item() {
    1060         $this->markTestSkipped( 'Controller does not implement create_item().' );
    1061     }
    1062 
     1069        // Controller does not implement create_item().
     1070    }
     1071
     1072    /**
     1073     * @doesNotPerformAssertions
     1074     */
    10631075    public function test_update_item() {
    1064         $this->markTestSkipped( 'Controller does not implement update_item().' );
    1065     }
    1066 
     1076        // Controller does not implement update_item().
     1077    }
     1078
     1079    /**
     1080     * @doesNotPerformAssertions
     1081     */
    10671082    public function test_delete_item() {
    1068         $this->markTestSkipped( 'Controller does not implement delete_item().' );
    1069     }
    1070 
     1083        // Controller does not implement delete_item().
     1084    }
     1085
     1086    /**
     1087     * @doesNotPerformAssertions
     1088     */
    10711089    public function test_prepare_item() {
    1072         $this->markTestSkipped( 'Controller does not implement prepare_item().' );
     1090        // Controller does not implement prepare_item().
    10731091    }
    10741092
Note: See TracChangeset for help on using the changeset viewer.