From 2c0a1f73778a018947a44b6fb3d7aba850604f43 Mon Sep 17 00:00:00 2001 From: Sergey Biryukov Date: Thu, 22 Jul 2021 18:49:24 +0000 Subject: [PATCH] Tests: Use better assertions in `WP_UnitTestCase_Base::assertEqualFields()`: * Check if the object attribute exists before checking its value. * Mention the field name in error messages in case of failure. Follow-up to [51478], [51479], [51480]. Props jrf. See #53363. git-svn-id: https://develop.svn.wordpress.org/trunk@51481 602fd350-edb4-49c9-b593-d223f7449a82 --- tests/phpunit/includes/abstract-testcase.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/phpunit/includes/abstract-testcase.php b/tests/phpunit/includes/abstract-testcase.php index 115c741fe0..c70b6d6aad 100644 --- a/tests/phpunit/includes/abstract-testcase.php +++ b/tests/phpunit/includes/abstract-testcase.php @@ -664,7 +664,8 @@ abstract class WP_UnitTestCase_Base extends PHPUnit\Framework\TestCase { */ public function assertEqualFields( $object, $fields, $message = '' ) { foreach ( $fields as $field_name => $field_value ) { - $this->assertSame( $object->$field_name, $field_value, $message . ' Field values do not match.' ); + $this->assertObjectHasAttribute( $field_name, $object, $message . " Property $field_name does not exist on the object." ); + $this->assertSame( $field_value, $object->$field_name, $message . " Value of property $field_name is not $field_value." ); } }