WordPress.org

Make WordPress Core


Ignore:
Timestamp:
10/16/2015 09:04:12 PM (6 years ago)
Author:
wonderboymusic
Message:

Unit Tests: one $factory to rule them all, and it shall be static.

Using more than one instance of WP_UnitTest_Factory causes all kinds of craziness, due to out-of-sync internal generator sequences. Since we want to use setUpBeforeClass, we were creating ad hoc instances. To avoid that, we were injecting one static instance via Dependency Injection in wpSetUpBeforeClass. All tests should really use the static instance, so we will remove the instance prop $factory.

Replace $this->factory with self::$factory over 2000 times.
Rewrite all of the tests that were hard-coding dynamic values.

#YOLOFriday

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/tests/ajax/CustomizeMenus.php

    r35211 r35225  
    2323        parent::setUp();
    2424        require_once ABSPATH . WPINC . '/class-wp-customize-manager.php';
    25         wp_set_current_user( $this->factory->user->create( array( 'role' => 'administrator' ) ) );
     25        wp_set_current_user( self::$factory->user->create( array( 'role' => 'administrator' ) ) );
    2626        global $wp_customize;
    2727        $this->wp_customize = new WP_Customize_Manager();
     
    6666        }
    6767
    68         wp_set_current_user( $this->factory->user->create( array( 'role' => $role ) ) );
     68        wp_set_current_user( self::$factory->user->create( array( 'role' => $role ) ) );
    6969
    7070        $_POST = array(
     
    308308
    309309        // Create some terms and pages.
    310         $this->factory->term->create_many( 5 );
    311         $this->factory->post->create_many( 5, array( 'post_type' => 'page' ) );
     310        self::$factory->term->create_many( 5 );
     311        self::$factory->post->create_many( 5, array( 'post_type' => 'page' ) );
    312312
    313313        $_POST = array_merge( array(
     
    397397        }
    398398
    399         wp_set_current_user( $this->factory->user->create( array( 'role' => $role ) ) );
     399        wp_set_current_user( self::$factory->user->create( array( 'role' => $role ) ) );
    400400
    401401        $_POST = array(
     
    470470    function test_ajax_search_available_items_results( $post_args, $expected_results ) {
    471471
    472         $this->factory->post->create_many( 5, array( 'post_title' => 'Test Post' ) );
     472        self::$factory->post->create_many( 5, array( 'post_title' => 'Test Post' ) );
    473473
    474474        $_POST = array_merge( array(
Note: See TracChangeset for help on using the changeset viewer.