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



git-svn-id: https://develop.svn.wordpress.org/trunk@35225 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Scott Taylor
2015-10-16 21:04:12 +00:00
parent 84272ff8cd
commit e70ebea219
169 changed files with 2631 additions and 2616 deletions
+7 -7
View File
@@ -9,7 +9,7 @@ class Tests_Comment_Slashes extends WP_UnitTestCase {
function setUp() {
parent::setUp();
// we need an admin user to bypass comment flood protection
$this->author_id = $this->factory->user->create( array( 'role' => 'administrator' ) );
$this->author_id = self::$factory->user->create( array( 'role' => 'administrator' ) );
$this->old_current_user = get_current_user_id();
wp_set_current_user( $this->author_id );
@@ -34,7 +34,7 @@ class Tests_Comment_Slashes extends WP_UnitTestCase {
*
*/
function test_wp_new_comment() {
$post_id = $this->factory->post->create();
$post_id = self::$factory->post->create();
// not testing comment_author_email or comment_author_url
// as slashes are not permitted in that data
@@ -74,8 +74,8 @@ class Tests_Comment_Slashes extends WP_UnitTestCase {
*
*/
function test_edit_comment() {
$post_id = $this->factory->post->create();
$comment_id = $this->factory->comment->create(array(
$post_id = self::$factory->post->create();
$comment_id = self::$factory->comment->create(array(
'comment_post_ID' => $post_id
));
@@ -117,7 +117,7 @@ class Tests_Comment_Slashes extends WP_UnitTestCase {
*
*/
function test_wp_insert_comment() {
$post_id = $this->factory->post->create();
$post_id = self::$factory->post->create();
$comment_id = wp_insert_comment(array(
'comment_post_ID' => $post_id,
@@ -145,8 +145,8 @@ class Tests_Comment_Slashes extends WP_UnitTestCase {
*
*/
function test_wp_update_comment() {
$post_id = $this->factory->post->create();
$comment_id = $this->factory->comment->create(array(
$post_id = self::$factory->post->create();
$comment_id = self::$factory->comment->create(array(
'comment_post_ID' => $post_id
));