diff --git a/tests/phpunit/tests/general/wpRequiredFieldIndicator.php b/tests/phpunit/tests/general/wpRequiredFieldIndicator.php
new file mode 100644
index 0000000000..565064c289
--- /dev/null
+++ b/tests/phpunit/tests/general/wpRequiredFieldIndicator.php
@@ -0,0 +1,47 @@
+<?php
+/**
+ * Test wp_required_field_indicator().
+ *
+ * @ticket 56389
+ *
+ * @group general
+ * @group template
+ *
+ * @covers ::wp_required_field_indicator
+ */
+class Tests_General_WpRequiredFieldIndicator extends WP_UnitTestCase {
+
+	/**
+	 * Tests that `wp_required_field_indicator()` returns the expected default value.
+	 *
+	 * @ticket 56389
+	 */
+	public function test_wp_required_field_indicator_should_return_default_value() {
+		$this->assertSame( '<span class="required" aria-hidden="true">*</span>', wp_required_field_indicator() );
+	}
+
+	/**
+	 * Tests that `wp_required_field_indicator()` applies 'wp_required_field_indicator' filters.
+	 *
+	 * @ticket 56389
+	 */
+	public function test_wp_required_field_indicator_should_apply_wp_required_field_indicator_filters() {
+		$filter = new MockAction();
+		add_filter( 'wp_required_field_indicator', array( &$filter, 'filter' ) );
+
+		wp_required_field_indicator();
+
+		$this->assertSame( 1, $filter->get_call_count() );
+	}
+
+	/**
+	 * Tests that the final return value of `wp_required_field_indicator()` is the result of
+	 * 'wp_required_field_indicator' filters.
+	 *
+	 * @ticket 56389
+	 */
+	public function test_wp_required_field_indicator_should_return_wp_required_field_indicator_filters() {
+		add_filter( 'wp_required_field_indicator', '__return_empty_string' );
+		$this->assertSame( '', wp_required_field_indicator() );
+	}
+}
diff --git a/tests/phpunit/tests/general/wpRequiredFieldMessage.php b/tests/phpunit/tests/general/wpRequiredFieldMessage.php
new file mode 100644
index 0000000000..5ace771c00
--- /dev/null
+++ b/tests/phpunit/tests/general/wpRequiredFieldMessage.php
@@ -0,0 +1,48 @@
+<?php
+/**
+ * Test wp_required_field_message().
+ *
+ * @group general
+ * @group template
+ *
+ * @covers ::wp_required_field_message
+ */
+class Tests_General_WpRequiredFieldMessage extends WP_UnitTestCase {
+
+	/**
+	 * Tests that `wp_required_field_message()` returns the expected default value.
+	 *
+	 * @ticket 56389
+	 */
+	public function test_wp_required_field_message_should_return_default_value() {
+		$expected  = '<span class="required-field-message" aria-hidden="true">';
+		$expected .= 'Required fields are marked <span class="required" aria-hidden="true">*</span>';
+		$expected .= '</span>';
+		$this->assertSame( $expected, wp_required_field_message() );
+	}
+
+	/**
+	 * Tests that `wp_required_field_message()` applies 'wp_required_field_message' filters.
+	 *
+	 * @ticket 56389
+	 */
+	public function test_wp_required_field_message_should_apply_wp_required_field_message_filters() {
+		$filter = new MockAction();
+		add_filter( 'wp_required_field_message', array( &$filter, 'filter' ) );
+
+		wp_required_field_message();
+
+		$this->assertSame( 1, $filter->get_call_count() );
+	}
+
+	/**
+	 * Tests that the final return value of `wp_required_field_message()` is the result of
+	 * 'wp_required_field_message' filters.
+	 *
+	 * @ticket 56389
+	 */
+	public function test_wp_required_field_message_should_return_wp_required_field_message_filters() {
+		add_filter( 'wp_required_field_message', '__return_empty_string' );
+		$this->assertSame( '', wp_required_field_message() );
+	}
+}
