Index: tests/phpunit/tests/pomo/mo.php
===================================================================
--- tests/phpunit/tests/pomo/mo.php	(revision 49699)
+++ tests/phpunit/tests/pomo/mo.php	(working copy)
@@ -5,6 +5,10 @@
  */
 class Tests_POMO_MO extends WP_UnitTestCase {
 
+	/**
+	 * @covers MO::headers
+	 * @covers MO::import_from_file
+	 */
 	function test_mo_simple() {
 		$mo = new MO();
 		$mo->import_from_file( DIR_TESTDATA . '/pomo/simple.mo' );
@@ -20,6 +24,9 @@
 		$this->assertSame( array( 'yes' ), $mo->entries["kuku\nruku"]->translations );
 	}
 
+	/**
+	 * @covers MO::translate_plural
+	 */
 	function test_mo_plural() {
 		$mo = new MO();
 		$mo->import_from_file( DIR_TESTDATA . '/pomo/plural.mo' );
@@ -46,6 +53,9 @@
 		$this->assertSame( 'twoey dragoney', $mo->translate_plural( 'one dragon', '%d dragons', -8 ) );
 	}
 
+	/**
+	 * @covers Translation_Entry::context
+	 */
 	function test_mo_context() {
 		$mo = new MO();
 		$mo->import_from_file( DIR_TESTDATA . '/pomo/context.mo' );
@@ -73,6 +83,9 @@
 
 	}
 
+	/**
+	 * @covers Translation_Entry::merge_with
+	 */
 	function test_translations_merge() {
 		$host = new Translations();
 		$host->add_entry( new Translation_Entry( array( 'singular' => 'pink' ) ) );
@@ -85,6 +98,9 @@
 		$this->assertSame( array(), array_diff( array( 'pink', 'green', 'red' ), array_keys( $host->entries ) ) );
 	}
 
+	/**
+	 * @covers MO::export_to_file
+	 */
 	function test_export_mo_file() {
 		$entries              = array();
 		$entries[]            = new Translation_Entry(
@@ -143,6 +159,9 @@
 		}
 	}
 
+	/**
+	 * @covers MO::export_to_file
+	 */
 	function test_export_should_not_include_empty_translations() {
 		$entries = array();
 		$mo      = new MO;
@@ -162,6 +181,9 @@
 		$this->assertSame( 0, count( $again->entries ) );
 	}
 
+	/**
+	 * @covers MO::translate_plural
+	 */
 	function test_nplurals_with_backslashn() {
 		$mo = new MO();
 		$mo->import_from_file( DIR_TESTDATA . '/pomo/bad_nplurals.mo' );
@@ -170,6 +192,9 @@
 		$this->assertSame( '%d foros', $mo->translate_plural( '%d forum', '%d forums', -1 ) );
 	}
 
+	/**
+	 * @covers MO::import_from_file
+	 */
 	function disabled_test_performance() {
 		$start = microtime( true );
 		$mo    = new MO();
@@ -177,6 +202,9 @@
 		// echo "\nPerformance: ".(microtime(true) - $start)."\n";
 	}
 
+	/**
+	 * @covers Translation_Entry::translations
+	 */
 	function test_overloaded_mb_functions() {
 		if ( ( ini_get( 'mbstring.func_overload' ) & 2 ) === 0 ) {
 			$this->markTestSkipped( __METHOD__ . ' only runs when mbstring.func_overload is enabled.' );
@@ -187,6 +215,9 @@
 		$this->assertSame( array( 'Табло' ), $mo->entries['Dashboard']->translations );
 	}
 
+	/**
+	 * @covers MO::import_from_file
+	 */
 	function test_load_pot_file() {
 		$mo = new MO();
 		$this->assertFalse( $mo->import_from_file( DIR_TESTDATA . '/pomo/mo.pot' ) );
Index: tests/phpunit/tests/pomo/noopTranslations.php
===================================================================
--- tests/phpunit/tests/pomo/noopTranslations.php	(revision 49699)
+++ tests/phpunit/tests/pomo/noopTranslations.php	(working copy)
@@ -17,30 +17,48 @@
 		);
 	}
 
+	/**
+	 * @covers NOOP_Translations::get_header
+	 */
 	function test_get_header() {
 		$this->assertFalse( $this->noop->get_header( 'Content-Type' ) );
 	}
 
+	/**
+	 * @covers NOOP_Translations::add_entry
+	 */
 	function test_add_entry() {
 		$this->noop->add_entry( $this->entry );
 		$this->assertSame( array(), $this->noop->entries );
 	}
 
+	/**
+	 * @covers NOOP_Translations::set_header
+	 */
 	function test_set_header() {
 		$this->noop->set_header( 'header', 'value' );
 		$this->assertSame( array(), $this->noop->headers );
 	}
 
+	/**
+	 * @covers NOOP_Translations::translate_entry
+	 */
 	function test_translate_entry() {
 		$this->noop->add_entry( $this->entry );
 		$this->assertFalse( $this->noop->translate_entry( $this->entry ) );
 	}
 
+	/**
+	 * @covers NOOP_Translations::translate
+	 */
 	function test_translate() {
 		$this->noop->add_entry( $this->entry );
 		$this->assertSame( 'baba', $this->noop->translate( 'baba' ) );
 	}
 
+	/**
+	 * @covers NOOP_Translations::translate_plural
+	 */
 	function test_plural() {
 		$this->noop->add_entry( $this->plural_entry );
 		$this->assertSame( 'dyado', $this->noop->translate_plural( 'dyado', 'dyados', 1 ) );
Index: tests/phpunit/tests/pomo/pluralForms.php
===================================================================
--- tests/phpunit/tests/pomo/pluralForms.php	(revision 49699)
+++ tests/phpunit/tests/pomo/pluralForms.php	(working copy)
@@ -40,6 +40,8 @@
 	/**
 	 * @ticket 41562
 	 * @group external-http
+	 *
+	 * @covers GP_Locales::locales
 	 */
 	public function test_locales_provider() {
 		$locales = self::locales_provider();
@@ -72,6 +74,8 @@
 	 * @ticket 41562
 	 * @dataProvider locales_provider
 	 * @group external-http
+	 *
+	 * @covers Plural_Forms::__construct
 	 */
 	public function test_regression( $lang, $nplurals, $expression ) {
 		require_once dirname( dirname( __DIR__ ) ) . '/includes/plural-form-function.php';
@@ -145,6 +149,8 @@
 	/**
 	 * @ticket 41562
 	 * @dataProvider simple_provider
+	 *
+	 * @covers Plural_Forms::__construct
 	 */
 	public function test_simple( $expression, $expected ) {
 		$plural_forms = new Plural_Forms( $expression );
@@ -201,6 +207,8 @@
 	 *
 	 * @ticket 41562
 	 * @dataProvider data_exceptions
+	 *
+	 * @covers Plural_Forms::__construct
 	 */
 	public function test_exceptions( $expression, $expected_message, $call_get ) {
 		$this->expectException( 'Exception' );
Index: tests/phpunit/tests/pomo/po.php
===================================================================
--- tests/phpunit/tests/pomo/po.php	(revision 49699)
+++ tests/phpunit/tests/pomo/po.php	(working copy)
@@ -41,6 +41,9 @@
 		$this->po_a90  = "\"$this->a90\"";
 	}
 
+	/**
+	 * @covers PO::prepend_each_line
+	 */
 	function test_prepend_each_line() {
 		$po = new PO();
 		$this->assertSame( 'baba_', $po->prepend_each_line( '', 'baba_' ) );
@@ -48,6 +51,9 @@
 		$this->assertSame( "# baba\n# dyado\n# \n", $po->prepend_each_line( "baba\ndyado\n\n", '# ' ) );
 	}
 
+	/**
+	 * @covers PO::poify
+	 */
 	function test_poify() {
 		$po = new PO();
 		// Simple.
@@ -67,6 +73,9 @@
 		$this->assertSameIgnoreEOL( $this->po_mail, $po->poify( $this->mail ) );
 	}
 
+	/**
+	 * @covers PO::unpoify
+	 */
 	function test_unpoify() {
 		$po = new PO();
 		$this->assertSame( 'baba', $po->unpoify( '"baba"' ) );
@@ -78,6 +87,9 @@
 		$this->assertSameIgnoreEOL( $this->mail, $po->unpoify( $this->po_mail ) );
 	}
 
+	/**
+	 * @covers PO::export_entry
+	 */
 	function test_export_entry() {
 		$po    = new PO();
 		$entry = new Translation_Entry( array( 'singular' => 'baba' ) );
@@ -203,6 +215,9 @@
 		);
 	}
 
+	/**
+	 * @covers PO::export_entries
+	 */
 	function test_export_entries() {
 		$entry  = new Translation_Entry( array( 'singular' => 'baba' ) );
 		$entry2 = new Translation_Entry( array( 'singular' => 'dyado' ) );
@@ -212,6 +227,9 @@
 		$this->assertSame( "msgid \"baba\"\nmsgstr \"\"\n\nmsgid \"dyado\"\nmsgstr \"\"", $po->export_entries() );
 	}
 
+	/**
+	 * @covers PO::export_headers
+	 */
 	function test_export_headers() {
 		$po = new PO();
 		$po->set_header( 'Project-Id-Version', 'WordPress 2.6-bleeding' );
@@ -219,6 +237,9 @@
 		$this->assertSame( "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: WordPress 2.6-bleeding\\n\"\n\"POT-Creation-Date: 2008-04-08 18:00+0000\\n\"", $po->export_headers() );
 	}
 
+	/**
+	 * @covers PO::export
+	 */
 	function test_export() {
 		$po     = new PO();
 		$entry  = new Translation_Entry( array( 'singular' => 'baba' ) );
@@ -232,6 +253,9 @@
 	}
 
 
+	/**
+	 * @covers PO::export_to_file
+	 */
 	function test_export_to_file() {
 		$po     = new PO();
 		$entry  = new Translation_Entry( array( 'singular' => 'baba' ) );
@@ -250,6 +274,9 @@
 		$this->assertSame( $po->export(), file_get_contents( $temp_fn2 ) );
 	}
 
+	/**
+	 * @covers PO::import_from_file
+	 */
 	function test_import_from_file() {
 		$po  = new PO();
 		$res = $po->import_from_file( DIR_TESTDATA . '/pomo/simple.po' );
@@ -309,11 +336,17 @@
 		$this->assertEquals( $end_quote_entry, $po->entries[ $end_quote_entry->key() ] );
 	}
 
+	/**
+	 * @covers PO::import_from_file
+	 */
 	function test_import_from_entry_file_should_give_false() {
 		$po = new PO();
 		$this->assertFalse( $po->import_from_file( DIR_TESTDATA . '/pomo/empty.po' ) );
 	}
 
+	/**
+	 * @covers PO::import_from_file
+	 */
 	function test_import_from_file_with_windows_line_endings_should_work_as_with_unix_line_endings() {
 		$po = new PO();
 		$this->assertTrue( $po->import_from_file( DIR_TESTDATA . '/pomo/windows-line-endings.po' ) );
Index: tests/phpunit/tests/pomo/translationEntry.php
===================================================================
--- tests/phpunit/tests/pomo/translationEntry.php	(revision 49699)
+++ tests/phpunit/tests/pomo/translationEntry.php	(working copy)
@@ -5,6 +5,14 @@
  */
 class Tests_POMO_TranslationEntry extends WP_UnitTestCase {
 
+	/**
+	 * @covers Translation_Entry::singular
+	 * @covers Translation_Entry::plural
+	 * @covers Translation_Entry::is_plural
+	 * @covers Translation_Entry::translations
+	 * @covers Translation_Entry::references
+	 * @covers Translation_Entry::flags
+	 */
 	function test_create_entry() {
 		// No singular => empty object.
 		$entry = new Translation_Entry();
@@ -29,6 +37,9 @@
 		$this->assertSame( array(), $entry->flags );
 	}
 
+	/**
+	 * @covers Translation_Entry::key
+	 */
 	function test_key() {
 		$entry_baba        = new Translation_Entry( array( 'singular' => 'baba' ) );
 		$entry_dyado       = new Translation_Entry( array( 'singular' => 'dyado' ) );
Index: tests/phpunit/tests/pomo/translations.php
===================================================================
--- tests/phpunit/tests/pomo/translations.php	(revision 49699)
+++ tests/phpunit/tests/pomo/translations.php	(working copy)
@@ -5,6 +5,9 @@
  */
 class Tests_POMO_Translations extends WP_UnitTestCase {
 
+	/**
+	 * @covers Translation_Entry::add_entry
+	 */
 	function test_add_entry() {
 		$entry  = new Translation_Entry( array( 'singular' => 'baba' ) );
 		$entry2 = new Translation_Entry( array( 'singular' => 'dyado' ) );
@@ -42,6 +45,9 @@
 		$this->assertSame( $entry->key(), $entries[0]->key() );
 	}
 
+	/**
+	 * @covers Translation_Entry::translate
+	 */
 	function test_translate() {
 		$entry1 = new Translation_Entry(
 			array(
@@ -65,6 +71,9 @@
 		$this->assertSame( 'babaz', $domain->translate( 'babaz' ) );
 	}
 
+	/**
+	 * @covers Translation_Entry::translate_plural
+	 */
 	function test_translate_plural() {
 		$entry_incomplete = new Translation_Entry(
 			array(
@@ -105,6 +114,10 @@
 		$this->assertSame( 'dyadoy', $domain->translate_plural( 'dyado', 'dyados', -18881 ) );
 	}
 
+	/**
+	 * @covers Translation_Entry::translate
+	 * @covers Translation_Entry::merge_with
+	 */
 	function test_digit_and_merge() {
 		$entry_digit_1 = new Translation_Entry(
 			array(
Index: tests/phpunit/tests/post/attachments.php
===================================================================
--- tests/phpunit/tests/post/attachments.php	(revision 49699)
+++ tests/phpunit/tests/post/attachments.php	(working copy)
@@ -13,6 +13,9 @@
 		parent::tearDown();
 	}
 
+	/**
+	 * @covers ::wp_upload_bits
+	 */
 	function test_insert_bogus_image() {
 		$filename = rand_str() . '.jpg';
 		$contents = rand_str();
@@ -21,6 +24,9 @@
 		$this->assertTrue( empty( $upload['error'] ) );
 	}
 
+	/**
+	 * @covers ::wp_insert_attachment
+	 */
 	function test_insert_image_no_thumb() {
 
 		// This image is smaller than the thumbnail size so it won't have one.
@@ -56,6 +62,8 @@
 
 	/**
 	 * @requires function imagejpeg
+	 *
+	 * @covers ::wp_insert_attachment
 	 */
 	function test_insert_image_thumb_only() {
 		update_option( 'medium_size_w', 0 );
@@ -107,6 +115,8 @@
 
 	/**
 	 * @requires function imagejpeg
+	 *
+	 * @covers ::wp_insert_attachment
 	 */
 	function test_insert_image_medium_sizes() {
 		update_option( 'medium_size_w', 400 );
@@ -164,6 +174,8 @@
 
 	/**
 	 * @requires function imagejpeg
+	 *
+	 * @covers ::wp_insert_attachment
 	 */
 	function test_insert_image_delete() {
 		update_option( 'medium_size_w', 400 );
@@ -212,6 +224,8 @@
 	 *
 	 * @ticket 18310
 	 * @ticket 21963
+	 *
+	 * @covers ::wp_insert_attachment
 	 */
 	function test_insert_image_without_guid() {
 		// This image is smaller than the thumbnail size so it won't have one.
@@ -256,6 +270,8 @@
 
 	/**
 	 * @ticket 29646
+	 *
+	 * @covers ::wp_insert_attachment
 	 */
 	function test_update_orphan_attachment_parent() {
 		$filename = ( DIR_TESTDATA . '/images/test-image.jpg' );
@@ -285,6 +301,8 @@
 
 	/**
 	 * @ticket 15928
+	 *
+	 * @covers ::wp_get_attachment_url
 	 */
 	public function test_wp_get_attachment_url_should_not_force_https_when_current_page_is_non_ssl_and_siteurl_is_non_ssl() {
 		$siteurl = get_option( 'siteurl' );
@@ -310,6 +328,8 @@
 	 * @ticket 15928
 	 *
 	 * This situation (current request is non-SSL but siteurl is https) should never arise.
+	 *
+	 * @covers ::wp_get_attachment_url
 	 */
 	public function test_wp_get_attachment_url_should_not_force_https_when_current_page_is_non_ssl_and_siteurl_is_ssl() {
 		$siteurl = get_option( 'siteurl' );
@@ -335,6 +355,8 @@
 	 * @ticket 15928
 	 *
 	 * Canonical siteurl is non-SSL, but SSL support is available/optional.
+	 *
+	 * @covers ::wp_get_attachment_url
 	 */
 	public function test_wp_get_attachment_url_should_force_https_with_https_on_same_host_when_siteurl_is_non_ssl_but_ssl_is_available() {
 		$siteurl = get_option( 'siteurl' );
@@ -363,6 +385,8 @@
 
 	/**
 	 * @ticket 15928
+	 *
+	 * @covers ::wp_get_attachment_url
 	 */
 	public function test_wp_get_attachment_url_with_https_on_same_host_when_siteurl_is_https() {
 		$siteurl = get_option( 'siteurl' );
@@ -391,6 +415,8 @@
 
 	/**
 	 * @ticket 15928
+	 *
+	 * @covers ::wp_get_attachment_url
 	 */
 	public function test_wp_get_attachment_url_should_not_force_https_when_administering_over_https_but_siteurl_is_not_https() {
 		$siteurl = get_option( 'siteurl' );
@@ -418,6 +444,8 @@
 
 	/**
 	 * @ticket 15928
+	 *
+	 * @covers ::wp_get_attachment_url
 	 */
 	public function test_wp_get_attachment_url_should_force_https_when_administering_over_https_and_siteurl_is_https() {
 		// Set https upload URL.
@@ -444,6 +472,10 @@
 		$this->assertSame( 'https', parse_url( $url, PHP_URL_SCHEME ) );
 	}
 
+	/**
+	 * @covers ::wp_attachment_is_image
+	 * @covers ::wp_attachment_is
+	 */
 	public function test_wp_attachment_is() {
 		$filename = DIR_TESTDATA . '/images/test-image.jpg';
 		$contents = file_get_contents( $filename );
@@ -479,6 +511,9 @@
 		}
 	}
 
+	/**
+	 * @covers ::wp_upload_bits
+	 */
 	public function test_upload_mimes_filter_is_applied() {
 		$filename = DIR_TESTDATA . '/images/test-image.jpg';
 		$contents = file_get_contents( $filename );
@@ -508,6 +543,8 @@
 
 	/**
 	 * @ticket 33012
+	 *
+	 * @covers ::wp_mime_type_icon
 	 */
 	public function test_wp_mime_type_icon() {
 		$icon = wp_mime_type_icon();
@@ -517,6 +554,8 @@
 
 	/**
 	 * @ticket 33012
+	 *
+	 * @covers ::wp_mime_type_icon
 	 */
 	public function test_wp_mime_type_icon_video() {
 		$icon = wp_mime_type_icon( 'video/mp4' );
Index: tests/phpunit/tests/post/bodyClass.php
===================================================================
--- tests/phpunit/tests/post/bodyClass.php	(revision 49699)
+++ tests/phpunit/tests/post/bodyClass.php	(working copy)
@@ -12,6 +12,9 @@
 		$this->post_id = self::factory()->post->create();
 	}
 
+	/**
+	 * @covers ::get_body_class
+	 */
 	public function test_body_class() {
 		$expected = 'class="' . implode( ' ', get_body_class( '', $this->post_id ) ) . '"';
 		$this->expectOutputString( $expected );
@@ -18,6 +21,9 @@
 		body_class( '', $this->post_id );
 	}
 
+	/**
+	 * @covers ::get_body_class
+	 */
 	public function test_body_class_extra_esc_attr() {
 		$classes              = get_body_class( '', $this->post_id );
 		$escaped_again        = array_map( 'esc_attr', $classes );
Index: tests/phpunit/tests/post/filtering.php
===================================================================
--- tests/phpunit/tests/post/filtering.php	(revision 49699)
+++ tests/phpunit/tests/post/filtering.php	(working copy)
@@ -22,7 +22,11 @@
 		parent::tearDown();
 	}
 
-	// A simple test to make sure unclosed tags are fixed.
+	/**
+	 * A simple test to make sure unclosed tags are fixed.
+	 *
+	 * @covers ::wp_insert_post
+	 */
 	function test_post_content_unknown_tag() {
 
 		$content = <<<EOF
@@ -39,7 +43,11 @@
 		$this->assertSame( $expected, $post->post_content );
 	}
 
-	// A simple test to make sure unbalanced tags are fixed.
+	/**
+	 * A simple test to make sure unbalanced tags are fixed.
+	 *
+	 * @covers ::wp_insert_post
+	 */
 	function test_post_content_unbalanced_tag() {
 
 		$content = <<<EOF
@@ -56,7 +64,12 @@
 		$this->assertSame( $expected, $post->post_content );
 	}
 
-	// Test KSES filtering of disallowed attribute.
+	/**
+	 * Test KSES filtering of disallowed attribute.
+	 *
+	 * @covers ::wp_insert_post
+	 */
+
 	function test_post_content_disallowed_attr() {
 
 		$content = <<<EOF
@@ -77,6 +90,8 @@
 	 * test kses bug. xhtml does not require space before closing empty element
 	 *
 	 * @ticket 12394
+	 *
+	 * @covers ::wp_insert_post
 	 */
 	function test_post_content_xhtml_empty_elem() {
 		$content = <<<EOF
@@ -93,7 +108,14 @@
 		$this->assertSame( $expected, $post->post_content );
 	}
 
-	// Make sure unbalanced tags are untouched when the balance option is off.
+	//
+
+	/**
+	 * Make sure unbalanced tags are untouched when the balance option is off.
+	 *
+	 *
+	 * @covers ::wp_insert_post
+	 */
 	function test_post_content_nobalance_nextpage_more() {
 
 		update_option( 'use_balanceTags', 0 );
Index: tests/phpunit/tests/post/formats.php
===================================================================
--- tests/phpunit/tests/post/formats.php	(revision 49699)
+++ tests/phpunit/tests/post/formats.php	(working copy)
@@ -8,6 +8,9 @@
 		parent::setUp();
 	}
 
+	/**
+	 * @covers ::get_post_format
+	 */
 	function test_set_get_post_format_for_post() {
 		$post_id = self::factory()->post->create();
 
@@ -35,6 +38,8 @@
 
 	/**
 	 * @ticket 22473
+	 *
+	 * @covers ::get_post_format
 	 */
 	function test_set_get_post_format_for_page() {
 		$post_id = self::factory()->post->create( array( 'post_type' => 'page' ) );
@@ -68,6 +73,9 @@
 		remove_post_type_support( 'page', 'post-formats' );
 	}
 
+	/**
+	 * @covers ::has_post_format
+	 */
 	function test_has_format() {
 		$post_id = self::factory()->post->create();
 
@@ -96,6 +104,8 @@
 
 	/**
 	 * @ticket 23570
+	 *
+	 * @covers ::get_url_in_content
 	 */
 	function test_get_url_in_content() {
 		$link                 = 'http://nytimes.com';
Index: tests/phpunit/tests/post/getBodyClass.php
===================================================================
--- tests/phpunit/tests/post/getBodyClass.php	(revision 49699)
+++ tests/phpunit/tests/post/getBodyClass.php	(working copy)
@@ -14,6 +14,8 @@
 
 	/**
 	 * @ticket 30883
+	 *
+	 * @covers ::get_body_class
 	 */
 	public function test_with_utf8_category_slugs() {
 		$cat_id1 = self::factory()->category->create( array( 'name' => 'Первая рубрика' ) );
Index: tests/phpunit/tests/post/getLastPostDate.php
===================================================================
--- tests/phpunit/tests/post/getLastPostDate.php	(revision 49699)
+++ tests/phpunit/tests/post/getLastPostDate.php	(working copy)
@@ -7,6 +7,8 @@
 
 	/**
 	 * @ticket 47777
+	 *
+	 * @covers ::get_lastpostdate
 	 */
 	public function test_get_lastpostdate() {
 		$post_post_date_first = '2020-01-30 16:09:28';
Index: tests/phpunit/tests/post/getLastPostModified.php
===================================================================
--- tests/phpunit/tests/post/getLastPostModified.php	(revision 49699)
+++ tests/phpunit/tests/post/getLastPostModified.php	(working copy)
@@ -7,6 +7,8 @@
 
 	/**
 	 * @ticket 47777
+	 *
+	 * @covers ::get_lastpostmodified
 	 */
 	public function test_get_lastpostmodified() {
 		global $wpdb;
Index: tests/phpunit/tests/post/getPageByPath.php
===================================================================
--- tests/phpunit/tests/post/getPageByPath.php	(revision 49699)
+++ tests/phpunit/tests/post/getPageByPath.php	(working copy)
@@ -6,6 +6,8 @@
 class Tests_Post_GetPageByPath extends WP_UnitTestCase {
 	/**
 	 * @ticket 15665
+	 *
+	 * @covers ::get_page_by_path
 	 */
 	public function test_get_page_by_path_priority() {
 		global $wpdb;
@@ -44,6 +46,9 @@
 		$this->assertEquals( $other_att, get_page_by_path( 'some-other-page' ) );
 	}
 
+	/**
+	 * @covers ::get_page_by_path
+	 */
 	public function test_should_match_top_level_page() {
 		$page = self::factory()->post->create(
 			array(
@@ -57,6 +62,9 @@
 		$this->assertSame( $page, $found->ID );
 	}
 
+	/**
+	 * @covers ::get_page_by_path
+	 */
 	public function test_should_obey_post_type() {
 		register_post_type( 'wptests_pt' );
 
@@ -74,6 +82,9 @@
 		$this->assertSame( $page, $found->ID );
 	}
 
+	/**
+	 * @covers ::get_page_by_path
+	 */
 	public function test_should_match_nested_page() {
 		$p1 = self::factory()->post->create(
 			array(
@@ -103,6 +114,9 @@
 		$this->assertSame( $p3, $found->ID );
 	}
 
+	/**
+	 * @covers ::get_page_by_path
+	 */
 	public function test_should_not_make_partial_match() {
 		$p1 = self::factory()->post->create(
 			array(
@@ -132,6 +146,9 @@
 		$this->assertNull( $found );
 	}
 
+	/**
+	 * @covers ::get_page_by_path
+	 */
 	public function test_should_not_match_parts_out_of_order() {
 		$p1 = self::factory()->post->create(
 			array(
@@ -163,6 +180,8 @@
 
 	/**
 	 * @ticket 36711
+	 *
+	 * @covers ::get_page_by_path
 	 */
 	public function test_should_hit_cache() {
 		global $wpdb;
@@ -187,6 +206,8 @@
 
 	/**
 	 * @ticket 36711
+	 *
+	 * @covers ::get_page_by_path
 	 */
 	public function test_bad_path_should_be_cached() {
 		global $wpdb;
@@ -204,6 +225,8 @@
 
 	/**
 	 * @ticket 36711
+	 *
+	 * @covers ::get_page_by_path
 	 */
 	public function test_bad_path_served_from_cache_should_not_fall_back_on_current_post() {
 		global $wpdb, $post;
@@ -226,6 +249,8 @@
 
 	/**
 	 * @ticket 36711
+	 *
+	 * @covers ::get_page_by_path
 	 */
 	public function test_cache_should_not_match_post_in_different_post_type_with_same_path() {
 		global $wpdb;
@@ -260,6 +285,8 @@
 
 	/**
 	 * @ticket 36711
+	 *
+	 * @covers ::get_page_by_path
 	 */
 	public function test_cache_should_be_invalidated_when_post_name_is_edited() {
 		global $wpdb;
@@ -292,6 +319,8 @@
 
 	/**
 	 * @ticket 37611
+	 *
+	 * @covers ::get_page_by_path
 	 */
 	public function test_output_param_should_be_obeyed_for_cached_value() {
 		$page = self::factory()->post->create(
Index: tests/phpunit/tests/post/getPageChildren.php
===================================================================
--- tests/phpunit/tests/post/getPageChildren.php	(revision 49699)
+++ tests/phpunit/tests/post/getPageChildren.php	(working copy)
@@ -65,6 +65,9 @@
 		);
 	}
 
+	/**
+	 * @covers ::get_page_children
+	 */
 	public function test_page_id_0_should_return_all_pages_in_tree_and_exclude_pages_not_in_tree() {
 		$expected = array( 100, 101, 102, 103, 105, 106, 107, 108 );
 		$actual   = get_page_children( 0, $this->pages );
@@ -71,6 +74,9 @@
 		$this->assertSameSets( $expected, wp_list_pluck( $actual, 'ID' ) );
 	}
 
+	/**
+	 * @covers ::get_page_children
+	 */
 	public function test_hierarchical_order_should_be_respected_in_results() {
 		$expected = array( 100, 101, 103, 102, 106, 107, 108, 105 );
 		$actual   = get_page_children( 0, $this->pages );
@@ -77,6 +83,9 @@
 		$this->assertSame( $expected, wp_list_pluck( $actual, 'ID' ) );
 	}
 
+	/**
+	 * @covers ::get_page_children
+	 */
 	public function test_not_all_pages_should_be_returned_when_page_id_is_in_the_middle_of_the_tree() {
 		$expected = array( 106, 107, 108 );
 		$actual   = get_page_children( 102, $this->pages );
@@ -83,11 +92,17 @@
 		$this->assertSame( $expected, wp_list_pluck( $actual, 'ID' ) );
 	}
 
+	/**
+	 * @covers ::get_page_children
+	 */
 	public function test_page_id_that_is_a_leaf_should_return_empty_array() {
 		$actual = get_page_children( 103, $this->pages );
 		$this->assertSame( array(), $actual );
 	}
 
+	/**
+	 * @covers ::get_page_children
+	 */
 	public function test_nonzero_page_id_not_matching_any_actual_post_id_should_return_empty_array() {
 		$actual = get_page_children( 200, $this->pages );
 		$this->assertSame( array(), $actual );
Index: tests/phpunit/tests/post/getPages.php
===================================================================
--- tests/phpunit/tests/post/getPages.php	(revision 49699)
+++ tests/phpunit/tests/post/getPages.php	(working copy)
@@ -11,6 +11,8 @@
 
 	/**
 	 * @ticket 23167
+	 *
+	 * @covers ::get_pages
 	 */
 	function test_get_pages_cache() {
 		global $wpdb;
@@ -105,6 +107,8 @@
 
 	/**
 	 * @ticket 40669
+	 *
+	 * @covers ::get_pages
 	 */
 	public function test_cache_should_be_invalidated_by_add_post_meta() {
 		$posts = self::factory()->post->create_many(
@@ -141,6 +145,8 @@
 
 	/**
 	 * @ticket 40669
+	 *
+	 * @covers ::get_pages
 	 */
 	public function test_cache_should_be_invalidated_by_update_post_meta() {
 		$posts = self::factory()->post->create_many(
@@ -178,6 +184,8 @@
 
 	/**
 	 * @ticket 40669
+	 *
+	 * @covers ::get_pages
 	 */
 	public function test_cache_should_be_invalidated_by_delete_post_meta() {
 		$posts = self::factory()->post->create_many(
@@ -215,6 +223,8 @@
 
 	/**
 	 * @ticket 40669
+	 *
+	 * @covers ::get_pages
 	 */
 	public function test_cache_should_be_invalidated_by_delete_post_meta_by_key() {
 		$posts = self::factory()->post->create_many(
@@ -252,6 +262,8 @@
 
 	/**
 	 * @ticket 20376
+	 *
+	 * @covers ::get_pages
 	 */
 	function test_get_pages_meta() {
 		$posts = self::factory()->post->create_many( 3, array( 'post_type' => 'page' ) );
@@ -286,6 +298,8 @@
 
 	/**
 	 * @ticket 22074
+	 *
+	 * @covers ::get_pages
 	 */
 	function test_get_pages_include_exclude() {
 		$page_ids = array();
@@ -312,6 +326,8 @@
 
 	/**
 	 * @ticket 9470
+	 *
+	 * @covers ::get_pages
 	 */
 	function test_get_pages_parent() {
 		$page_id1 = self::factory()->post->create( array( 'post_type' => 'page' ) );
@@ -370,6 +386,8 @@
 
 	/**
 	 * @ticket 22389
+	 *
+	 * @covers ::get_pages
 	 */
 	function test_wp_dropdown_pages() {
 		self::factory()->post->create_many( 5, array( 'post_type' => 'page' ) );
@@ -381,6 +399,8 @@
 
 	/**
 	 * @ticket 22208
+	 *
+	 * @covers ::get_pages
 	 */
 	function test_get_chidren_fields_ids() {
 		$post_id   = self::factory()->post->create();
@@ -397,6 +417,8 @@
 
 	/**
 	 * @ticket 25750
+	 *
+	 * @covers ::get_pages
 	 */
 	function test_get_pages_hierarchical_and_no_parent() {
 		global $wpdb;
@@ -447,6 +469,8 @@
 
 	/**
 	 * @ticket 18701
+	 *
+	 * @covers ::get_pages
 	 */
 	public function test_get_pages_hierarchical_empty_child_of() {
 		$page_1 = self::factory()->post->create( array( 'post_type' => 'page' ) );
@@ -493,6 +517,8 @@
 
 	/**
 	 * @ticket 18701
+	 *
+	 * @covers ::get_pages
 	 */
 	public function test_get_pages_non_hierarchical_empty_child_of() {
 		$page_1 = self::factory()->post->create( array( 'post_type' => 'page' ) );
@@ -529,6 +555,8 @@
 
 	/**
 	 * @ticket 18701
+	 *
+	 * @covers ::get_pages
 	 */
 	public function test_get_pages_hierarchical_non_empty_child_of() {
 		$page_1 = self::factory()->post->create( array( 'post_type' => 'page' ) );
@@ -572,6 +600,8 @@
 
 	/**
 	 * @ticket 18701
+	 *
+	 * @covers ::get_pages
 	 */
 	public function test_get_pages_non_hierarchical_non_empty_child_of() {
 		$page_1 = self::factory()->post->create( array( 'post_type' => 'page' ) );
@@ -622,6 +652,9 @@
 
 	}
 
+	/**
+	 * @covers ::wp_list_pages
+	 */
 	function test_wp_list_pages_classes() {
 		$type = 'taco';
 		register_post_type(
@@ -655,6 +688,9 @@
 		_unregister_post_type( $type );
 	}
 
+	/**
+	 * @covers ::get_pages
+	 */
 	function test_exclude_tree() {
 		$post_id1 = self::factory()->post->create( array( 'post_type' => 'page' ) );
 		$post_id2 = self::factory()->post->create(
@@ -704,6 +740,8 @@
 
 	/**
 	 * @ticket 43514
+	 *
+	 * @covers ::get_pages
 	 */
 	function test_get_pages_cache_empty() {
 		global $wpdb;
Index: tests/phpunit/tests/post/getPageUri.php
===================================================================
--- tests/phpunit/tests/post/getPageUri.php	(revision 49699)
+++ tests/phpunit/tests/post/getPageUri.php	(working copy)
@@ -7,6 +7,8 @@
 
 	/**
 	 * @ticket 22883
+	 *
+	 * @covers ::get_page_uri
 	 */
 	function test_get_page_uri_with_stdclass_post_object() {
 		$post_id = self::factory()->post->create( array( 'post_name' => 'get-page-uri-post-name' ) );
@@ -21,6 +23,8 @@
 
 	/**
 	 * @ticket 24491
+	 *
+	 * @covers ::get_page_uri
 	 */
 	function test_get_page_uri_with_nonexistent_post() {
 		global $wpdb;
@@ -30,6 +34,8 @@
 
 	/**
 	 * @ticket 15963
+	 *
+	 * @covers ::get_page_uri
 	 */
 	function test_get_post_uri_check_orphan() {
 		$parent_id = self::factory()->post->create( array( 'post_name' => 'parent' ) );
@@ -53,6 +59,8 @@
 
 	/**
 	 * @ticket 36174
+	 *
+	 * @covers ::get_page_uri
 	 */
 	function test_get_page_uri_with_a_draft_parent_with_empty_slug() {
 		$parent_id = self::factory()->post->create( array( 'post_name' => 'parent' ) );
@@ -76,6 +84,8 @@
 
 	/**
 	 * @ticket 26284
+	 *
+	 * @covers ::get_page_uri
 	 */
 	function test_get_page_uri_without_argument() {
 		$post_id = self::factory()->post->create(
Index: tests/phpunit/tests/post/getPostClass.php
===================================================================
--- tests/phpunit/tests/post/getPostClass.php	(revision 49699)
+++ tests/phpunit/tests/post/getPostClass.php	(working copy)
@@ -12,6 +12,9 @@
 		$this->post_id = self::factory()->post->create();
 	}
 
+	/**
+	 * @covers ::get_post_class
+	 */
 	public function test_with_tags() {
 		wp_set_post_terms( $this->post_id, array( 'foo', 'bar' ), 'post_tag' );
 
@@ -21,6 +24,9 @@
 		$this->assertContains( 'tag-bar', $found );
 	}
 
+	/**
+	 * @covers ::get_post_class
+	 */
 	public function test_with_categories() {
 		$cats = self::factory()->category->create_many( 2 );
 		wp_set_post_terms( $this->post_id, $cats, 'category' );
@@ -34,6 +40,9 @@
 		$this->assertContains( 'category-' . $cat1->slug, $found );
 	}
 
+	/**
+	 * @covers ::get_post_class
+	 */
 	public function test_with_custom_taxonomy() {
 		register_taxonomy( 'wptests_tax', 'post' );
 		wp_set_post_terms( $this->post_id, array( 'foo', 'bar' ), 'wptests_tax' );
@@ -46,6 +55,8 @@
 
 	/**
 	 * @ticket 22271
+	 *
+	 * @covers ::get_post_class
 	 */
 	public function test_with_custom_classes_and_no_post() {
 		$this->assertSame( array(), get_post_class( '', null ) );
@@ -55,6 +66,8 @@
 
 	/**
 	 * @ticket 30883
+	 *
+	 * @covers ::get_post_class
 	 */
 	public function test_with_utf8_category_slugs() {
 		$cat_id1 = self::factory()->category->create( array( 'name' => 'Первая рубрика' ) );
@@ -71,6 +84,8 @@
 
 	/**
 	 * @ticket 30883
+	 *
+	 * @covers ::get_post_class
 	 */
 	public function test_with_utf8_tag_slugs() {
 		$tag_id1 = self::factory()->tag->create( array( 'name' => 'Первая метка' ) );
@@ -87,6 +102,8 @@
 
 	/**
 	 * @ticket 30883
+	 *
+	 * @covers ::get_post_class
 	 */
 	public function test_with_utf8_term_slugs() {
 		register_taxonomy( 'wptests_tax', 'post' );
@@ -119,6 +136,8 @@
 
 	/**
 	 * @group cache
+	 *
+	 * @covers ::get_post_class
 	 */
 	public function test_taxonomy_classes_hit_cache() {
 		global $wpdb;
Index: tests/phpunit/tests/post/getPosts.php
===================================================================
--- tests/phpunit/tests/post/getPosts.php	(revision 49699)
+++ tests/phpunit/tests/post/getPosts.php	(working copy)
@@ -5,6 +5,10 @@
  * @group query
  */
 class Tests_Post_GetPosts extends WP_UnitTestCase {
+
+	/**
+	 * @covers ::get_posts
+	 */
 	public function test_offset_should_be_null_by_default() {
 		$p1 = self::factory()->post->create(
 			array(
@@ -29,6 +33,9 @@
 		$this->assertSame( array( $p1 ), $found );
 	}
 
+	/**
+	 * @covers ::get_posts
+	 */
 	public function test_offset_0_should_be_respected() {
 		$p1 = self::factory()->post->create(
 			array(
@@ -54,6 +61,9 @@
 		$this->assertSame( array( $p1 ), $found );
 	}
 
+	/**
+	 * @covers ::get_posts
+	 */
 	public function test_offset_non_0_should_be_respected() {
 		$p1 = self::factory()->post->create(
 			array(
@@ -81,6 +91,8 @@
 
 	/**
 	 * @ticket 34060
+	 *
+	 * @covers ::get_posts
 	 */
 	public function test_paged_should_not_be_overridden_by_default_offset() {
 		$p1 = self::factory()->post->create(
@@ -107,6 +119,9 @@
 		$this->assertSame( array( $p2 ), $found );
 	}
 
+	/**
+	 * @covers ::get_posts
+	 */
 	public function test_explicit_offset_0_should_override_paged() {
 		$p1 = self::factory()->post->create(
 			array(
@@ -133,6 +148,9 @@
 		$this->assertSame( array( $p1 ), $found );
 	}
 
+	/**
+	 * @covers ::get_posts
+	 */
 	public function test_explicit_offset_non_0_should_override_paged() {
 		$p1 = self::factory()->post->create(
 			array(
Index: tests/phpunit/tests/post/getPostsByAuthorSql.php
===================================================================
--- tests/phpunit/tests/post/getPostsByAuthorSql.php	(revision 49699)
+++ tests/phpunit/tests/post/getPostsByAuthorSql.php	(working copy)
@@ -5,21 +5,33 @@
  */
 class Tests_Post_GetPostsByAuthorSql extends WP_UnitTestCase {
 
+	/**
+	 * @covers ::get_posts_by_author_sql
+	 */
 	public function test_post_type_post() {
 		$maybe_string = get_posts_by_author_sql( 'post' );
 		$this->assertContains( "post_type = 'post'", $maybe_string );
 	}
 
+	/**
+	 * @covers ::get_posts_by_author_sql
+	 */
 	public function test_post_type_page() {
 		$maybe_string = get_posts_by_author_sql( 'page' );
 		$this->assertContains( "post_type = 'page'", $maybe_string );
 	}
 
+	/**
+	 * @covers ::get_posts_by_author_sql
+	 */
 	public function test_non_existent_post_type() {
 		$maybe_string = get_posts_by_author_sql( 'non_existent_post_type' );
 		$this->assertContains( '1 = 0', $maybe_string );
 	}
 
+	/**
+	 * @covers ::get_posts_by_author_sql
+	 */
 	public function test_multiple_post_types() {
 		register_post_type( 'foo' );
 		register_post_type( 'bar' );
@@ -32,31 +44,49 @@
 		_unregister_post_type( 'bar' );
 	}
 
+	/**
+	 * @covers ::get_posts_by_author_sql
+	 */
 	public function test_full_true() {
 		$maybe_string = get_posts_by_author_sql( 'post', true );
 		$this->assertRegExp( '/^WHERE /', $maybe_string );
 	}
 
+	/**
+	 * @covers ::get_posts_by_author_sql
+	 */
 	public function test_full_false() {
 		$maybe_string = get_posts_by_author_sql( 'post', false );
 		$this->assertNotRegExp( '/^WHERE /', $maybe_string );
 	}
 
+	/**
+	 * @covers ::get_posts_by_author_sql
+	 */
 	public function test_post_type_clause_should_be_included_when_full_is_true() {
 		$maybe_string = get_posts_by_author_sql( 'post', true );
 		$this->assertContains( "post_type = 'post'", $maybe_string );
 	}
 
+	/**
+	 * @covers ::get_posts_by_author_sql
+	 */
 	public function test_post_type_clause_should_be_included_when_full_is_false() {
 		$maybe_string = get_posts_by_author_sql( 'post', false );
 		$this->assertContains( "post_type = 'post'", $maybe_string );
 	}
 
+	/**
+	 * @covers ::get_posts_by_author_sql
+	 */
 	public function test_post_author_should_create_post_author_clause() {
 		$maybe_string = get_posts_by_author_sql( 'post', true, 1 );
 		$this->assertContains( 'post_author = 1', $maybe_string );
 	}
 
+	/**
+	 * @covers ::get_posts_by_author_sql
+	 */
 	public function test_public_only_true_should_not_allow_any_private_posts_for_loggedin_user() {
 		$current_user = get_current_user_id();
 		$u            = self::factory()->user->create();
@@ -68,6 +98,9 @@
 		wp_set_current_user( $current_user );
 	}
 
+	/**
+	 * @covers ::get_posts_by_author_sql
+	 */
 	public function test_public_only_should_default_to_false() {
 		$current_user = get_current_user_id();
 		$u            = self::factory()->user->create();
@@ -78,6 +111,9 @@
 		wp_set_current_user( $current_user );
 	}
 
+	/**
+	 * @covers ::get_posts_by_author_sql
+	 */
 	public function test_public_only_false_should_allow_current_user_access_to_own_private_posts_when_current_user_matches_post_author() {
 		$current_user = get_current_user_id();
 		$u            = self::factory()->user->create();
@@ -89,6 +125,9 @@
 		wp_set_current_user( $current_user );
 	}
 
+	/**
+	 * @covers ::get_posts_by_author_sql
+	 */
 	public function test_public_only_false_should_not_allow_access_to_private_posts_if_current_user_is_not_post_author() {
 		$current_user = get_current_user_id();
 		$u1           = self::factory()->user->create();
@@ -101,6 +140,9 @@
 		wp_set_current_user( $current_user );
 	}
 
+	/**
+	 * @covers ::get_posts_by_author_sql
+	 */
 	public function test_public_only_false_should_allow_current_user_access_to_own_private_posts_when_post_author_is_not_provided() {
 		$current_user = get_current_user_id();
 		$u            = self::factory()->user->create();
@@ -113,6 +155,9 @@
 		wp_set_current_user( $current_user );
 	}
 
+	/**
+	 * @covers ::get_posts_by_author_sql
+	 */
 	public function test_administrator_should_have_access_to_private_posts_when_public_only_is_false() {
 		$current_user = get_current_user_id();
 		$u            = self::factory()->user->create( array( 'role' => 'administrator' ) );
@@ -125,6 +170,9 @@
 		wp_set_current_user( $current_user );
 	}
 
+	/**
+	 * @covers ::get_posts_by_author_sql
+	 */
 	public function test_user_has_access_only_to_private_posts_for_certain_post_types() {
 		register_post_type( 'foo', array( 'capabilities' => array( 'read_private_posts' => 'read_private_foo' ) ) );
 		register_post_type( 'bar', array( 'capabilities' => array( 'read_private_posts' => 'read_private_bar' ) ) );
Index: tests/phpunit/tests/post/getPostTypeLabels.php
===================================================================
--- tests/phpunit/tests/post/getPostTypeLabels.php	(revision 49699)
+++ tests/phpunit/tests/post/getPostTypeLabels.php	(working copy)
@@ -4,6 +4,10 @@
  * @group post
  */
 class Tests_Post_GetPostTypeLabels extends WP_UnitTestCase {
+
+	/**
+	 * @covers ::get_post_type_labels
+	 */
 	public function test_returns_an_object() {
 		$this->assertInternalType(
 			'object',
@@ -17,6 +21,9 @@
 		);
 	}
 
+	/**
+	 * @covers ::get_post_type_labels
+	 */
 	public function test_returns_hierachical_labels() {
 		$labels = get_post_type_labels(
 			(object) array(
@@ -29,6 +36,9 @@
 		$this->assertSame( 'Pages', $labels->name );
 	}
 
+	/**
+	 * @covers ::get_post_type_labels
+	 */
 	public function test_existing_labels_are_not_overridden() {
 		$labels = get_post_type_labels(
 			(object) array(
@@ -43,6 +53,9 @@
 		$this->assertSame( 'Foo', $labels->singular_name );
 	}
 
+	/**
+	 * @covers ::get_post_type_labels
+	 */
 	public function test_name_admin_bar_label_should_fall_back_to_singular_name() {
 		$labels = get_post_type_labels(
 			(object) array(
@@ -58,6 +71,9 @@
 	}
 
 
+	/**
+	 * @covers ::get_post_type_labels
+	 */
 	public function test_name_admin_bar_label_should_fall_back_to_post_type_name() {
 		$labels = get_post_type_labels(
 			(object) array(
@@ -70,6 +86,9 @@
 		$this->assertSame( 'bar', $labels->name_admin_bar );
 	}
 
+	/**
+	 * @covers ::get_post_type_labels
+	 */
 	public function test_menu_name_should_fall_back_to_name() {
 		$labels = get_post_type_labels(
 			(object) array(
@@ -84,6 +103,9 @@
 		$this->assertSame( 'Bar', $labels->menu_name );
 	}
 
+	/**
+	 * @covers ::get_post_type_labels
+	 */
 	public function test_labels_should_be_added_when_registering_a_post_type() {
 		$post_type_object = register_post_type(
 			'foo',
@@ -101,6 +123,9 @@
 		$this->assertObjectHasAttribute( 'not_found_in_trash', $post_type_object->labels );
 	}
 
+	/**
+	 * @covers ::get_post_type_labels
+	 */
 	public function test_label_should_be_derived_from_labels_when_registering_a_post_type() {
 		$post_type_object = register_post_type(
 			'foo',
@@ -118,6 +143,8 @@
 
 	/**
 	 * @ticket 33543
+	 *
+	 * @covers ::get_post_type_labels
 	 */
 	public function test_should_fall_back_on_defaults_when_filtered_labels_do_not_contain_the_keys() {
 		add_filter( 'post_type_labels_foo', array( $this, 'filter_post_type_labels' ) );
Index: tests/phpunit/tests/post/getTheContent.php
===================================================================
--- tests/phpunit/tests/post/getTheContent.php	(revision 49699)
+++ tests/phpunit/tests/post/getTheContent.php	(working copy)
@@ -7,6 +7,8 @@
 class Tests_Post_GetTheContent extends WP_UnitTestCase {
 	/**
 	 * @ticket 42814
+	 *
+	 * @covers ::get_the_content
 	 */
 	public function test_argument_back_compat_more_link_text() {
 		$text = 'Foo<!--more-->Bar';
@@ -24,6 +26,8 @@
 
 	/**
 	 * @ticket 42814
+	 *
+	 * @covers ::get_the_content
 	 */
 	public function test_argument_back_compat_strip_teaser() {
 		$text = 'Foo<!--more-->Bar';
@@ -43,6 +47,8 @@
 
 	/**
 	 * @ticket 42814
+	 *
+	 * @covers ::get_the_content
 	 */
 	public function test_content_other_post() {
 		$text_1 = 'Foo<!--nextpage-->Bar<!--nextpage-->Baz';
@@ -58,6 +64,8 @@
 
 	/**
 	 * @ticket 42814
+	 *
+	 * @covers ::get_the_content
 	 */
 	public function test_should_respect_pagination_of_inner_post() {
 		$text_1 = 'Foo<!--nextpage-->Bar<!--nextpage-->Baz';
@@ -78,6 +86,8 @@
 
 	/**
 	 * @ticket 47824
+	 *
+	 * @covers ::get_the_content
 	 */
 	public function test_should_fall_back_to_post_global_outside_of_the_loop() {
 		$GLOBALS['post'] = self::factory()->post->create( array( 'post_content' => 'Foo' ) );
Index: tests/phpunit/tests/post/getTheExcerpt.php
===================================================================
--- tests/phpunit/tests/post/getTheExcerpt.php	(revision 49699)
+++ tests/phpunit/tests/post/getTheExcerpt.php	(working copy)
@@ -8,6 +8,8 @@
 
 	/**
 	 * @ticket 27246
+	 *
+	 * @covers ::get_the_excerpt
 	 */
 	public function test_the_excerpt_invalid_post() {
 		$this->assertSame( '', get_echo( 'the_excerpt' ) );
@@ -17,6 +19,8 @@
 	/**
 	 * @ticket 27246
 	 * @expectedDeprecated get_the_excerpt
+	 *
+	 * @covers ::get_the_excerpt
 	 */
 	public function test_the_excerpt_deprecated() {
 		$this->assertSame( '', get_the_excerpt( true ) );
@@ -25,6 +29,8 @@
 
 	/**
 	 * @ticket 27246
+	 *
+	 * @covers ::get_the_excerpt
 	 */
 	public function test_the_excerpt() {
 		$GLOBALS['post'] = self::factory()->post->create_and_get( array( 'post_excerpt' => 'Post excerpt' ) );
@@ -35,6 +41,8 @@
 	/**
 	 * @ticket 27246
 	 * @ticket 35486
+	 *
+	 * @covers ::get_the_excerpt
 	 */
 	public function test_the_excerpt_password_protected_post() {
 		$post = self::factory()->post->create_and_get(
@@ -51,6 +59,8 @@
 
 	/**
 	 * @ticket 27246
+	 *
+	 * @covers ::get_the_excerpt
 	 */
 	public function test_the_excerpt_specific_post() {
 		$GLOBALS['post'] = self::factory()->post->create_and_get( array( 'post_excerpt' => 'Foo' ) );
@@ -60,6 +70,8 @@
 
 	/**
 	 * @ticket 42814
+	 *
+	 * @covers ::get_the_excerpt
 	 */
 	public function test_should_fall_back_on_post_content_if_excerpt_is_empty_and_post_is_inferred_from_context() {
 		$post_id = self::factory()->post->create(
@@ -85,6 +97,8 @@
 
 	/**
 	 * @ticket 42814
+	 *
+	 * @covers ::get_the_excerpt
 	 */
 	public function test_should_fall_back_on_post_content_if_excerpt_is_empty_and_post_is_provided() {
 		$GLOBALS['post'] = self::factory()->post->create_and_get(
@@ -98,6 +112,8 @@
 
 	/**
 	 * @ticket 42814
+	 *
+	 * @covers ::get_the_excerpt
 	 */
 	public function test_should_respect_post_parameter_in_the_loop() {
 		$p1 = self::factory()->post->create_and_get( array( 'post_excerpt' => 'Foo' ) );
@@ -118,6 +134,8 @@
 
 	/**
 	 * @ticket 42814
+	 *
+	 * @covers ::get_the_excerpt
 	 */
 	public function test_should_respect_post_parameter_in_the_loop_when_falling_back_on_post_content() {
 		$p1 = self::factory()->post->create_and_get(
Index: tests/phpunit/tests/post/isPostTypeViewable.php
===================================================================
--- tests/phpunit/tests/post/isPostTypeViewable.php	(revision 49699)
+++ tests/phpunit/tests/post/isPostTypeViewable.php	(working copy)
@@ -4,6 +4,10 @@
  * @group post
  */
 class Tests_Post_IsPostTypeViewable extends WP_UnitTestCase {
+
+	/**
+	 * @covers ::is_post_type_viewable
+	 */
 	public function test_should_return_false_for_non_publicly_queryable_types() {
 		register_post_type(
 			'wptests_pt',
@@ -19,6 +23,9 @@
 		$this->assertFalse( is_post_type_viewable( $pt ) );
 	}
 
+	/**
+	 * @covers ::is_post_type_viewable
+	 */
 	public function test_should_return_true_for_publicly_queryable_types() {
 		register_post_type(
 			'wptests_pt',
@@ -34,6 +41,9 @@
 		$this->assertTrue( is_post_type_viewable( $pt ) );
 	}
 
+	/**
+	 * @covers ::is_post_type_viewable
+	 */
 	public function test_should_return_false_for_builtin_nonpublic_types() {
 		register_post_type(
 			'wptests_pt',
@@ -49,6 +59,9 @@
 		$this->assertFalse( is_post_type_viewable( $pt ) );
 	}
 
+	/**
+	 * @covers ::is_post_type_viewable
+	 */
 	public function test_should_return_false_for_nonbuiltin_public_types() {
 		register_post_type(
 			'wptests_pt',
@@ -64,6 +77,9 @@
 		$this->assertFalse( is_post_type_viewable( $pt ) );
 	}
 
+	/**
+	 * @covers ::is_post_type_viewable
+	 */
 	public function test_should_return_true_for_builtin_public_types() {
 		register_post_type(
 			'wptests_pt',
@@ -79,6 +95,9 @@
 		$this->assertTrue( is_post_type_viewable( $pt ) );
 	}
 
+	/**
+	 * @covers ::is_post_type_viewable
+	 */
 	public function test_postpage_should_be_viewable() {
 		$post = get_post_type_object( 'post' );
 		$this->assertTrue( is_post_type_viewable( $post ) );
@@ -89,6 +108,8 @@
 
 	/**
 	 * @ticket 35609
+	 *
+	 * @covers ::is_post_type_viewable
 	 */
 	public function test_should_accept_post_type_name() {
 		register_post_type(
@@ -105,6 +126,8 @@
 
 	/**
 	 * @ticket 35609
+	 *
+	 * @covers ::is_post_type_viewable
 	 */
 	public function test_should_return_false_for_bad_post_type_name() {
 		$this->assertFalse( is_post_type_viewable( 'foo' ) );
Index: tests/phpunit/tests/post/meta.php
===================================================================
--- tests/phpunit/tests/post/meta.php	(revision 49699)
+++ tests/phpunit/tests/post/meta.php	(working copy)
@@ -44,6 +44,9 @@
 		self::delete_user( self::$author );
 	}
 
+	/**
+	 * @covers ::add_post_meta
+	 */
 	function test_unique_postmeta() {
 		// Add a unique post meta item.
 		$this->assertInternalType( 'integer', add_post_meta( self::$post_id, 'unique', 'value', true ) );
@@ -67,6 +70,9 @@
 
 	}
 
+	/**
+	 * @covers ::add_post_meta
+	 */
 	function test_nonunique_postmeta() {
 		// Add two non-unique post meta items.
 		$this->assertInternalType( 'integer', add_post_meta( self::$post_id, 'nonunique', 'value' ) );
@@ -104,6 +110,9 @@
 		$this->assertTrue( delete_post_meta_by_key( 'nonunique' ) );
 	}
 
+	/**
+	 * @covers ::update_post_meta
+	 */
 	function test_update_post_meta() {
 		// Add a unique post meta item.
 		$this->assertInternalType( 'integer', add_post_meta( self::$post_id, 'unique_update', 'value', true ) );
@@ -131,6 +140,9 @@
 
 	}
 
+	/**
+	 * @covers ::delete_post_meta
+	 */
 	function test_delete_post_meta() {
 		// Add two unique post meta items.
 		$this->assertInternalType( 'integer', add_post_meta( self::$post_id, 'unique_delete', 'value', true ) );
@@ -148,6 +160,9 @@
 
 	}
 
+	/**
+	 * @covers ::delete_post_meta
+	 */
 	function test_delete_post_meta_by_key() {
 		// Add two unique post meta items.
 		$this->assertInternalType( 'integer', add_post_meta( self::$post_id, 'unique_delete_by_key', 'value', true ) );
@@ -165,6 +180,9 @@
 		$this->assertSame( '', get_post_meta( self::$post_id_2, 'unique_delete_by_key', true ) );
 	}
 
+	/**
+	 * @covers ::get_post_meta_by_id
+	 */
 	function test_get_post_meta_by_id() {
 		$mid = add_post_meta( self::$post_id, 'get_post_meta_by_key', 'get_post_meta_by_key_value', true );
 		$this->assertInternalType( 'integer', $mid );
@@ -185,6 +203,9 @@
 		delete_metadata_by_mid( 'post', $mid );
 	}
 
+	/**
+	 * @covers ::delete_meta
+	 */
 	function test_delete_meta() {
 		$mid = add_post_meta( self::$post_id, 'delete_meta', 'delete_meta_value', true );
 		$this->assertInternalType( 'integer', $mid );
@@ -195,6 +216,9 @@
 		$this->assertFalse( delete_meta( 123456789 ) );
 	}
 
+	/**
+	 * @covers ::update_meta
+	 */
 	function test_update_meta() {
 		// Add a unique post meta item.
 		$this->assertInternalType( 'integer', $mid1 = add_post_meta( self::$post_id, 'unique_update', 'value', true ) );
@@ -229,6 +253,8 @@
 
 	/**
 	 * @ticket 12860
+	 *
+	 * @covers ::add_post_meta
 	 */
 	function test_funky_post_meta() {
 		$classy          = new StdClass();
@@ -252,6 +278,8 @@
 	/**
 	 * @ticket 38323
 	 * @dataProvider data_register_post_meta
+	 *
+	 * @covers ::register_post_meta
 	 */
 	public function test_register_post_meta( $post_type, $meta_key, $args ) {
 		add_filter( 'register_meta_args', array( $this, 'filter_register_meta_args_set_last_register_meta_call' ), 10, 4 );
@@ -287,6 +315,8 @@
 	/**
 	 * @ticket 38323
 	 * @dataProvider data_unregister_post_meta
+	 *
+	 * @covers ::unregister_post_meta
 	 */
 	public function test_unregister_post_meta( $post_type, $meta_key ) {
 		global $wp_meta_keys;
@@ -312,6 +342,8 @@
 
 	/**
 	 * @ticket 44467
+	 *
+	 * @covers ::add_metadata
 	 */
 	public function test_add_metadata_sets_posts_last_changed() {
 		$post_id = self::factory()->post->create();
@@ -324,6 +356,8 @@
 
 	/**
 	 * @ticket 44467
+	 *
+	 * @covers ::update_metadata
 	 */
 	public function test_update_metadata_sets_posts_last_changed() {
 		$post_id = self::factory()->post->create();
@@ -336,6 +370,8 @@
 
 	/**
 	 * @ticket 44467
+	 *
+	 * @covers ::delete_metadata
 	 */
 	public function test_delete_metadata_sets_posts_last_changed() {
 		$post_id = self::factory()->post->create();
Index: tests/phpunit/tests/post/nav-menu.php
===================================================================
--- tests/phpunit/tests/post/nav-menu.php	(revision 49699)
+++ tests/phpunit/tests/post/nav-menu.php	(working copy)
@@ -17,6 +17,8 @@
 
 	/**
 	 * @ticket 32464
+	 *
+	 * @covers ::wp_nav_menu
 	 */
 	public function test_wp_nav_menu_empty_container() {
 		$tag_id = self::factory()->tag->create();
@@ -43,6 +45,9 @@
 		$this->assertSame( 0, strpos( $menu, '<ul' ) );
 	}
 
+	/**
+	 * @covers ::wp_get_associated_nav_menu_items
+	 */
 	function test_wp_get_associated_nav_menu_items() {
 		$tag_id    = self::factory()->tag->create();
 		$cat_id    = self::factory()->category->create();
@@ -139,6 +144,8 @@
 
 	/**
 	 * @ticket 27113
+	 *
+	 * @covers ::wp_get_nav_menu_items
 	 */
 	function test_orphan_nav_menu_item() {
 
@@ -173,6 +180,9 @@
 
 	}
 
+	/**
+	 * @covers ::wp_get_nav_menu_items
+	 */
 	public function test_wp_get_nav_menu_items_with_taxonomy_term() {
 		register_taxonomy( 'wptests_tax', 'post', array( 'hierarchical' => true ) );
 		$t           = self::factory()->term->create( array( 'taxonomy' => 'wptests_tax' ) );
@@ -204,6 +214,8 @@
 
 	/**
 	 * @ticket 13910
+	 *
+	 * @covers ::wp_get_nav_menu_name
 	 */
 	function test_wp_get_nav_menu_name() {
 		// Register a nav menu location.
@@ -223,6 +235,8 @@
 
 	/**
 	 * @ticket 29460
+	 *
+	 * @covers ::wp_get_nav_menus
 	 */
 	function test_orderby_name_by_default() {
 		// We are going to create a random number of menus (min 2, max 10).
@@ -252,6 +266,8 @@
 
 	/**
 	 * @ticket 35324
+	 *
+	 * @covers ::wp_setup_nav_menu_item
 	 */
 	function test_wp_setup_nav_menu_item_for_post_type_archive() {
 
@@ -285,6 +301,8 @@
 
 	/**
 	 * @ticket 35324
+	 *
+	 * @covers ::wp_setup_nav_menu_item
 	 */
 	function test_wp_setup_nav_menu_item_for_post_type_archive_no_description() {
 
@@ -316,6 +334,8 @@
 
 	/**
 	 * @ticket 35324
+	 *
+	 * @covers ::wp_setup_nav_menu_item
 	 */
 	function test_wp_setup_nav_menu_item_for_post_type_archive_custom_description() {
 
@@ -351,6 +371,8 @@
 
 	/**
 	 * @ticket 35324
+	 *
+	 * @covers ::wp_setup_nav_menu_item
 	 */
 	function test_wp_setup_nav_menu_item_for_unknown_post_type_archive_no_description() {
 
@@ -372,6 +394,8 @@
 
 	/**
 	 * @ticket 19038
+	 *
+	 * @covers ::wp_setup_nav_menu_item
 	 */
 	function test_wp_setup_nav_menu_item_for_trashed_post() {
 		$post_id = self::factory()->post->create(
@@ -398,6 +422,8 @@
 
 	/**
 	 * @ticket 35206
+	 *
+	 * @covers ::wp_nav_menu
 	 */
 	function test_wp_nav_menu_whitespace_options() {
 		$post_id1 = self::factory()->post->create();
@@ -485,6 +511,8 @@
 	 * backward compatibility.
 	 *
 	 * @ticket 24587
+	 *
+	 * @covers ::wp_nav_menu
 	 */
 	function test_wp_nav_menu_filters_are_passed_args_object() {
 		$tag_id = self::factory()->tag->create();
@@ -573,6 +601,8 @@
 
 	/**
 	 * @ticket 35272
+	 *
+	 * @covers ::wp_get_nav_menu_items
 	 */
 	function test_no_front_page_class_applied() {
 		$page_id = self::factory()->post->create(
@@ -604,6 +634,8 @@
 
 	/**
 	 * @ticket 35272
+	 *
+	 * @covers ::wp_get_nav_menu_items
 	 */
 	function test_class_applied_to_front_page_item() {
 		$page_id = self::factory()->post->create(
@@ -637,6 +669,8 @@
 
 	/**
 	 * @ticket 35272
+	 *
+	 * @covers ::wp_get_nav_menu_items
 	 */
 	function test_class_not_applied_to_taxonomies_with_same_id_as_front_page_item() {
 		global $wpdb;
@@ -734,6 +768,8 @@
 
 	/**
 	 * @ticket 39800
+	 *
+	 * @covers ::wp_get_nav_menu_items
 	 */
 	function test_parent_ancestor_for_post_archive() {
 
@@ -835,6 +871,8 @@
 	/**
 	 * @ticket 43401
 	 * @dataProvider get_iri_current_menu_items
+	 *
+	 * @covers ::wp_get_nav_menu_items
 	 */
 	function test_iri_current_menu_item( $custom_link, $current = true ) {
 		wp_update_nav_menu_item(
@@ -864,6 +902,8 @@
 	/**
 	 * @ticket 44005
 	 * @group privacy
+	 *
+	 * @covers ::wp_get_nav_menu_items
 	 */
 	function test_no_privacy_policy_class_applied() {
 		$page_id = self::factory()->post->create(
@@ -895,6 +935,8 @@
 	/**
 	 * @ticket 44005
 	 * @group privacy
+	 *
+	 * @covers ::wp_get_nav_menu_items
 	 */
 	function test_class_applied_to_privacy_policy_page_item() {
 		$page_id = self::factory()->post->create(
@@ -929,6 +971,8 @@
 	/**
 	 * @ticket 47723
 	 * @dataProvider data_trim_url_for_custom_item
+	 *
+	 * @covers ::wp_get_nav_menu_items
 	 */
 	function test_trim_url_for_custom_item( $custom_url, $correct_url ) {
 		$custom_item_id = wp_update_nav_menu_item(
@@ -963,6 +1007,8 @@
 	 * be empty, as the item should get the title from the category object itself.
 	 *
 	 * @ticket 48011
+	 *
+	 * @covers ::wp_get_nav_menu_item
 	 */
 	function test_wp_update_nav_menu_item_with_special_characters_in_category_name() {
 		$category_name = 'Test Cat - \"Pre-Slashed\" Cat Name & >';
Index: tests/phpunit/tests/post/objects.php
===================================================================
--- tests/phpunit/tests/post/objects.php	(revision 49699)
+++ tests/phpunit/tests/post/objects.php	(working copy)
@@ -5,6 +5,9 @@
  */
 class Tests_Post_Objects extends WP_UnitTestCase {
 
+	/**
+	 * @covers ::get_post
+	 */
 	function test_get_post() {
 		$id = self::factory()->post->create();
 
@@ -66,6 +69,9 @@
 		$this->assertNull( get_post( false ) );
 	}
 
+	/**
+	 * @covers ::get_post_ancestors
+	 */
 	function test_get_post_ancestors() {
 		$parent_id     = self::factory()->post->create();
 		$child_id      = self::factory()->post->create();
@@ -100,6 +106,8 @@
 
 	/**
 	 * @ticket 22882
+	 *
+	 * @covers ::get_post_ancestors
 	 */
 	function test_get_post_ancestors_with_falsey_values() {
 		foreach ( array( null, 0, false, '0', '' ) as $post_id ) {
@@ -108,6 +116,9 @@
 		}
 	}
 
+	/**
+	 * @covers ::get_post
+	 */
 	function test_get_post_category_property() {
 		$post_id = self::factory()->post->create();
 		$post    = get_post( $post_id );
@@ -127,6 +138,9 @@
 		$this->assertSame( array( $term2['term_id'], $term3['term_id'], $term1['term_id'] ), $post['post_category'] );
 	}
 
+	/**
+	 * @covers ::get_post
+	 */
 	function test_get_tags_input_property() {
 		$post_id = self::factory()->post->create();
 		$post    = get_post( $post_id );
@@ -144,6 +158,9 @@
 		$this->assertSame( array( 'Bar', 'Baz', 'Foo' ), $post['tags_input'] );
 	}
 
+	/**
+	 * @covers ::get_post_meta
+	 */
 	function test_get_page_template_property() {
 		$post_id = self::factory()->post->create();
 		$post    = get_post( $post_id );
@@ -157,6 +174,9 @@
 		$this->assertSame( $template, $post->page_template );
 	}
 
+	/**
+	 * @covers ::get_post
+	 */
 	function test_get_post_filter() {
 		$post = get_post(
 			self::factory()->post->create(
@@ -184,6 +204,9 @@
 		$this->assertSame( esc_js( "Mary's home" ), $raw_post->post_title );
 	}
 
+	/**
+	 * @covers ::get_post
+	 */
 	function test_get_post_identity() {
 		$post = get_post( self::factory()->post->create() );
 
@@ -193,6 +216,9 @@
 		$this->assertSame( 'bar', get_post( $post, OBJECT, 'display' )->foo );
 	}
 
+	/**
+	 * @covers ::get_post
+	 */
 	function test_get_post_array() {
 		$id = self::factory()->post->create();
 
@@ -205,6 +231,8 @@
 
 	/**
 	 * @ticket 22223
+	 *
+	 * @covers ::get_post
 	 */
 	function test_get_post_cache() {
 		global $wpdb;
Index: tests/phpunit/tests/post/output.php
===================================================================
--- tests/phpunit/tests/post/output.php	(revision 49699)
+++ tests/phpunit/tests/post/output.php	(working copy)
@@ -39,6 +39,9 @@
 		return "<p class='{$processed_atts['class']}'>$content</p>\n";
 	}
 
+	/**
+	 * @covers ::the_content
+	 */
 	function test_the_content() {
 		$post_content = <<<EOF
 <i>This is the excerpt.</i>
@@ -62,6 +65,9 @@
 		$this->assertSame( strip_ws( $expected ), strip_ws( get_echo( 'the_content' ) ) );
 	}
 
+	/**
+	 * @covers ::the_content
+	 */
 	function test_the_content_shortcode() {
 		$post_content = <<<EOF
 [dumptag foo="bar" baz="123"]
@@ -128,6 +134,9 @@
 		$this->assertSame( strip_ws( $expected ), strip_ws( get_echo( 'the_content' ) ) );
 	}
 
+	/**
+	 * @covers ::the_content
+	 */
 	function test_the_content_attribute_filtering() {
 		kses_init_filters();
 
@@ -152,6 +161,9 @@
 		kses_remove_filters();
 	}
 
+	/**
+	 * @covers ::the_content
+	 */
 	function test_the_content_attribute_value_with_colon() {
 		kses_init_filters();
 
@@ -182,6 +194,8 @@
 	 * @ticket 46471
 	 *
 	 * @group blocks
+	 *
+	 * @covers ::the_content
 	 */
 	public function test_the_content_should_handle_more_block_on_singular() {
 		$post_content = <<<EOF
@@ -231,6 +245,8 @@
 	 * @ticket 46471
 	 *
 	 * @group blocks
+	 *
+	 * @covers ::the_content
 	 */
 	public function test_the_content_should_handle_more_block_when_noteaser_on_singular() {
 		$post_content = <<<EOF
@@ -275,6 +291,8 @@
 	 * @ticket 46471
 	 *
 	 * @group blocks
+	 *
+	 * @covers ::the_content
 	 */
 	public function test_the_content_should_handle_more_block_when_non_singular() {
 		$post_content = <<<EOF
@@ -320,6 +338,8 @@
 	 * @ticket 46471
 	 *
 	 * @group blocks
+	 *
+	 * @covers ::the_content
 	 */
 	public function test_the_content_should_handle_more_block_when_noteaser_on_non_singular() {
 		$post_content = <<<EOF
Index: tests/phpunit/tests/post/pings.php
===================================================================
--- tests/phpunit/tests/post/pings.php	(revision 49699)
+++ tests/phpunit/tests/post/pings.php	(working copy)
@@ -6,6 +6,9 @@
  */
 class Tests_Post_Pings extends WP_UnitTestCase {
 
+	/**
+	 * @covers ::get_to_ping
+	 */
 	public function test_returns_to_ping_sites_from_post_id() {
 		$post_id = self::factory()->post->create(
 			array(
@@ -16,6 +19,9 @@
 		$this->assertSame( array( 'http://www.example.com', 'http://www.otherexample.com' ), get_to_ping( $post_id ) );
 	}
 
+	/**
+	 * @covers ::get_to_ping
+	 */
 	public function test_returns_to_ping_sites_from_post_object() {
 		$post_id = self::factory()->post->create(
 			array(
@@ -27,11 +33,17 @@
 		$this->assertSame( array( 'http://www.example.com', 'http://www.otherexample.com' ), get_to_ping( $post ) );
 	}
 
+	/**
+	 * @covers ::get_pung
+	 */
 	public function test_returns_pinged_sites_from_post_id() {
 		$post_id = self::factory()->post->create( array( 'pinged' => 'foo bar baz' ) );
 		$this->assertSame( array( 'foo', 'bar', 'baz' ), get_pung( $post_id ) );
 	}
 
+	/**
+	 * @covers ::get_pung
+	 */
 	public function test_returns_pinged_sites_from_post_object() {
 		$post_id = self::factory()->post->create( array( 'pinged' => 'foo bar baz' ) );
 		$post    = get_post( $post_id );
@@ -38,6 +50,9 @@
 		$this->assertSame( array( 'foo', 'bar', 'baz' ), get_pung( $post ) );
 	}
 
+	/**
+	 * @covers ::get_pung
+	 */
 	public function test_add_ping_with_post_id() {
 		$post_id = self::factory()->post->create();
 		add_ping( $post_id, 'foo' );
@@ -46,6 +61,9 @@
 		$this->assertSame( array( 'foo', 'bar', 'baz' ), get_pung( $post_id ) );
 	}
 
+	/**
+	 * @covers ::get_pung
+	 */
 	public function test_add_ping_array_with_post_id() {
 		$post_id = self::factory()->post->create();
 		add_ping( $post_id, array( 'foo', 'bar', 'baz' ) );
@@ -52,6 +70,9 @@
 		$this->assertSame( array( 'foo', 'bar', 'baz' ), get_pung( $post_id ) );
 	}
 
+	/**
+	 * @covers ::get_pung
+	 */
 	public function test_add_ping_with_post_object() {
 		$post_id = self::factory()->post->create();
 		$post    = get_post( $post_id );
Index: tests/phpunit/tests/post/postClass.php
===================================================================
--- tests/phpunit/tests/post/postClass.php	(revision 49699)
+++ tests/phpunit/tests/post/postClass.php	(working copy)
@@ -12,6 +12,9 @@
 		$this->post_id = self::factory()->post->create();
 	}
 
+	/**
+	 * @covers ::post_class
+	 */
 	public function test_post_class() {
 		$expected = 'class="' . implode( ' ', get_post_class( '', $this->post_id ) ) . '"';
 		$this->expectOutputString( $expected );
@@ -18,6 +21,9 @@
 		post_class( '', $this->post_id );
 	}
 
+	/**
+	 * @covers ::post_class
+	 */
 	public function test_post_class_extra_esc_attr() {
 		$classes              = get_post_class( '', $this->post_id );
 		$escaped_again        = array_map( 'esc_attr', $classes );
Index: tests/phpunit/tests/post/query.php
===================================================================
--- tests/phpunit/tests/post/query.php	(revision 49699)
+++ tests/phpunit/tests/post/query.php	(working copy)
@@ -7,6 +7,8 @@
 class Tests_Post_Query extends WP_UnitTestCase {
 	/**
 	 * @group taxonomy
+	 *
+	 * @covers WP_Query::get
 	 */
 	function test_category__and_var() {
 		$q = new WP_Query();
@@ -49,6 +51,8 @@
 	/**
 	 * @ticket 28099
 	 * @group taxonomy
+	 *
+	 * @covers WP_Query::get
 	 */
 	function test_empty_category__in() {
 		$cat_id  = self::factory()->category->create();
@@ -78,6 +82,8 @@
 
 	/**
 	 * @ticket 22448
+	 *
+	 * @covers WP_Query::__construct
 	 */
 	function test_the_posts_filter() {
 		// Create posts and clear their caches.
@@ -128,6 +134,9 @@
 		return $posts;
 	}
 
+	/**
+	 * @covers WP_Query::__construct
+	 */
 	function test_post__in_ordering() {
 		$post_id1 = self::factory()->post->create(
 			array(
@@ -176,6 +185,8 @@
 
 	/**
 	 * @ticket 38034
+	 *
+	 * @covers WP_Query::__construct
 	 */
 	public function test_orderby_post__in_array() {
 		$posts = self::factory()->post->create_many( 4 );
@@ -194,6 +205,8 @@
 
 	/**
 	 * @ticket 38034
+	 *
+	 * @covers WP_Query::__construct
 	 */
 	public function test_orderby_post__in_array_with_implied_order() {
 		$posts = self::factory()->post->create_many( 4 );
@@ -210,6 +223,9 @@
 		$this->assertSame( $ordered, wp_list_pluck( $q->posts, 'ID' ) );
 	}
 
+	/**
+	 * @covers WP_Query::__construct
+	 */
 	function test_post__in_attachment_ordering() {
 		$post_id    = self::factory()->post->create();
 		$att_ids    = array();
@@ -273,6 +289,8 @@
 
 	/**
 	 * @ticket 36515
+	 *
+	 * @covers WP_Query::__construct
 	 */
 	public function test_post_name__in_ordering() {
 		$post_id1 = self::factory()->post->create(
@@ -308,6 +326,9 @@
 		$this->assertSame( $ordered, wp_list_pluck( $q->posts, 'post_name' ) );
 	}
 
+	/**
+	 * @covers WP_Query::__construct
+	 */
 	function test_post_status() {
 		$statuses1 = get_post_stati();
 		$this->assertContains( 'auto-draft', $statuses1 );
@@ -330,6 +351,8 @@
 
 	/**
 	 * @ticket 17065
+	 *
+	 * @covers WP_Query::__construct
 	 */
 	function test_orderby_array() {
 		global $wpdb;
@@ -366,6 +389,8 @@
 
 	/**
 	 * @ticket 17065
+	 *
+	 * @covers WP_Query::__construct
 	 */
 	function test_order() {
 		global $wpdb;
@@ -406,6 +431,8 @@
 
 	/**
 	 * @ticket 29629
+	 *
+	 * @covers WP_Query::__construct
 	 */
 	function test_orderby() {
 		// 'rand' is a valid value.
@@ -441,6 +468,8 @@
 
 	/**
 	 * @ticket 35692
+	 *
+	 * @covers WP_Query::__construct
 	 */
 	public function test_orderby_rand_with_seed() {
 		$q = new WP_Query(
@@ -454,6 +483,8 @@
 
 	/**
 	 * @ticket 35692
+	 *
+	 * @covers WP_Query::__construct
 	 */
 	public function test_orderby_rand_should_ignore_invalid_seed() {
 		$q = new WP_Query(
@@ -467,6 +498,8 @@
 
 	/**
 	 * @ticket 35692
+	 *
+	 * @covers WP_Query::__construct
 	 */
 	public function test_orderby_rand_with_seed_should_be_case_insensitive() {
 		$q = new WP_Query(
@@ -482,6 +515,8 @@
 	 * Tests the post_name__in attribute of WP_Query.
 	 *
 	 * @ticket 33065
+	 *
+	 * @covers WP_Query::__construct
 	 */
 	public function test_post_name__in() {
 		$q = new WP_Query();
@@ -534,6 +569,8 @@
 
 	/**
 	 * @ticket 36687
+	 *
+	 * @covers WP_Query::__construct
 	 */
 	public function test_posts_pre_query_filter_should_bypass_database_query() {
 		global $wpdb;
@@ -560,6 +597,8 @@
 
 	/**
 	 * @ticket 36687
+	 *
+	 * @covers WP_Query::__construct
 	 */
 	public function test_posts_pre_query_filter_should_respect_set_found_posts() {
 		global $wpdb;
@@ -595,6 +634,8 @@
 
 	/**
 	 * @ticket 36687
+	 *
+	 * @covers WP_Query::__construct
 	 */
 	public function test_set_found_posts_fields_ids() {
 		register_post_type( 'wptests_pt' );
@@ -619,6 +660,8 @@
 
 	/**
 	 * @ticket 36687
+	 *
+	 * @covers WP_Query::__construct
 	 */
 	public function test_set_found_posts_fields_idparent() {
 		register_post_type( 'wptests_pt' );
@@ -642,6 +685,8 @@
 
 	/**
 	 * @ticket 36687
+	 *
+	 * @covers WP_Query::__construct
 	 */
 	public function test_set_found_posts_fields_split_the_query() {
 		register_post_type( 'wptests_pt' );
@@ -668,6 +713,8 @@
 
 	/**
 	 * @ticket 36687
+	 *
+	 * @covers WP_Query::__construct
 	 */
 	public function test_set_found_posts_fields_not_split_the_query() {
 		register_post_type( 'wptests_pt' );
@@ -707,6 +754,8 @@
 	 * @ticket 42860
 	 *
 	 * @dataProvider set_found_posts_provider
+	 *
+	 * @covers WP_Query::__construct
 	 */
 	public function test_set_found_posts_not_posts_as_an_array( $posts, $expected ) {
 		$q = new WP_Query(
@@ -727,6 +776,8 @@
 
 	/**
 	 * @ticket 42469
+	 *
+	 * @covers WP_Query::__construct
 	 */
 	public function test_found_posts_should_be_integer_not_string() {
 		$this->post_id = self::factory()->post->create();
@@ -742,6 +793,8 @@
 
 	/**
 	 * @ticket 42469
+	 *
+	 * @covers WP_Query::__construct
 	 */
 	public function test_found_posts_should_be_integer_even_if_found_posts_filter_returns_string_value() {
 		$this->post_id = self::factory()->post->create();
Index: tests/phpunit/tests/post/revisions.php
===================================================================
--- tests/phpunit/tests/post/revisions.php	(revision 49699)
+++ tests/phpunit/tests/post/revisions.php	(working copy)
@@ -30,6 +30,8 @@
 	 *
 	 * @ticket 20982
 	 * @ticket 16215
+	 *
+	 * @covers ::wp_restore_post_revision
 	 */
 	function test_revision_restore_updates_edit_last_post_meta() {
 		// Create a post as Author.
@@ -73,6 +75,8 @@
 	/**
 	 * @ticket 7392
 	 * @ticket 9843
+	 *
+	 * @covers ::wp_update_post
 	 */
 	function test_revision_dont_save_revision_if_unchanged() {
 		$post    = get_default_post_to_edit( 'post', true );
@@ -143,6 +147,8 @@
 	/**
 	 * @ticket 7392
 	 * @ticket 9843
+	 *
+	 * @covers ::wp_update_post
 	 */
 	function test_revision_force_save_revision_even_if_unchanged() {
 		add_filter( 'wp_save_post_revision_check_for_changes', '__return_false' );
@@ -218,6 +224,8 @@
 	 * Tests the Caps used in the action=view case of wp-admin/revision.php
 	 *
 	 * @ticket 16847
+	 *
+	 * @covers ::user_can
 	 */
 	function test_revision_view_caps_post() {
 		$post_id = self::factory()->post->create(
@@ -251,6 +259,8 @@
 	 * Tests the Caps used in the action=restore case of wp-admin/revision.php
 	 *
 	 * @ticket 16847
+	 *
+	 * @covers ::user_can
 	 */
 	function test_revision_restore_caps_post() {
 		$post_id = self::factory()->post->create(
@@ -282,6 +292,8 @@
 	 * Tests the Caps used in the action=diff case of wp-admin/revision.php
 	 *
 	 * @ticket 16847
+	 *
+	 * @covers ::user_can
 	 */
 	function test_revision_diff_caps_post() {
 		$post_id = self::factory()->post->create(
@@ -320,6 +332,8 @@
 	 * Tests the Caps used in the action=view case of wp-admin/revision.php with a CPT with Custom Capabilities
 	 *
 	 * @ticket 16847
+	 *
+	 * @covers ::user_can
 	 */
 	function test_revision_view_caps_cpt() {
 		register_post_type(
@@ -362,6 +376,8 @@
 	 * Tests the Caps used in the action=restore case of wp-admin/revision.php
 	 *
 	 * @ticket 16847
+	 *
+	 * @covers ::user_can
 	 */
 	function test_revision_restore_caps_cpt() {
 		register_post_type(
@@ -408,6 +424,8 @@
 	 * Tests the Caps used in the action=restore case of wp-admin/revision.php
 	 *
 	 * @ticket 16847
+	 *
+	 * @covers ::user_can
 	 */
 	function test_revision_restore_caps_before_publish() {
 		register_post_type(
@@ -468,6 +486,8 @@
 	 * Tests the Caps used in the action=diff case of wp-admin/revision.php
 	 *
 	 * @ticket 16847
+	 *
+	 * @covers ::user_can
 	 */
 	function test_revision_diff_caps_cpt() {
 		register_post_type(
@@ -513,6 +533,8 @@
 
 	/**
 	 * @ticket 26042
+	 *
+	 * @covers ::wp_get_post_revisions
 	 */
 	function test_wp_get_post_revisions_should_order_by_post_date() {
 		global $wpdb;
@@ -549,6 +571,8 @@
 
 	/**
 	 * @ticket 26042
+	 *
+	 * @covers ::wp_get_post_revisions
 	 */
 	function test_wp_get_post_revisions_should_order_by_ID_when_post_date_matches() {
 		$post = self::factory()->post->create_and_get(
Index: tests/phpunit/tests/post/slashes.php
===================================================================
--- tests/phpunit/tests/post/slashes.php	(revision 49699)
+++ tests/phpunit/tests/post/slashes.php	(working copy)
@@ -32,6 +32,8 @@
 
 	/**
 	 * Tests the controller function that expects slashed data.
+	 *
+	 * @covers ::edit_post
 	 */
 	function test_edit_post() {
 		$post_id = self::$post_id;
@@ -69,6 +71,8 @@
 
 	/**
 	 * Tests the model function that expects slashed data.
+	 *
+	 * @covers ::wp_insert_post
 	 */
 	function test_wp_insert_post() {
 		$post_id = wp_insert_post(
@@ -105,6 +109,8 @@
 
 	/**
 	 * Tests the model function that expects slashed data.
+	 *
+	 * @covers ::wp_update_post
 	 */
 	function test_wp_update_post() {
 		$post_id = self::$post_id;
@@ -140,6 +146,9 @@
 
 	/**
 	 * @ticket 27550
+	 *
+	 * @covers ::wp_trash_post
+	 * @covers ::wp_untrash_post
 	 */
 	function test_wp_trash_untrash() {
 		$post    = array(
Index: tests/phpunit/tests/post/template.php
===================================================================
--- tests/phpunit/tests/post/template.php	(revision 49699)
+++ tests/phpunit/tests/post/template.php	(working copy)
@@ -5,6 +5,9 @@
  */
 class Tests_Post_Template extends WP_UnitTestCase {
 
+	/**
+	 * @covers ::wp_link_pages
+	 */
 	function test_wp_link_pages() {
 		$contents = array( 'One', 'Two', 'Three' );
 		$content  = implode( '<!--nextpage-->', $contents );
@@ -131,6 +134,9 @@
 		$this->assertSame( $pagelink, $output );
 	}
 
+	/**
+	 * @covers ::wp_dropdown_pages
+	 */
 	function test_wp_dropdown_pages() {
 		$none = wp_dropdown_pages( array( 'echo' => 0 ) );
 		$this->assertEmpty( $none );
@@ -222,6 +228,8 @@
 
 	/**
 	 * @ticket 12494
+	 *
+	 * @covers ::wp_dropdown_pages
 	 */
 	public function test_wp_dropdown_pages_value_field_should_default_to_ID() {
 		$p = self::factory()->post->create(
@@ -242,6 +250,8 @@
 
 	/**
 	 * @ticket 12494
+	 *
+	 * @covers ::wp_dropdown_pages
 	 */
 	public function test_wp_dropdown_pages_value_field_ID() {
 		$p = self::factory()->post->create(
@@ -262,6 +272,8 @@
 
 	/**
 	 * @ticket 12494
+	 *
+	 * @covers ::wp_dropdown_pages
 	 */
 	public function test_wp_dropdown_pages_value_field_post_name() {
 		$p = self::factory()->post->create(
@@ -283,6 +295,8 @@
 
 	/**
 	 * @ticket 12494
+	 *
+	 * @covers ::wp_dropdown_pages
 	 */
 	public function test_wp_dropdown_pages_value_field_should_fall_back_on_ID_when_an_invalid_value_is_provided() {
 		$p = self::factory()->post->create(
@@ -304,6 +318,8 @@
 
 	/**
 	 * @ticket 30082
+	 *
+	 * @covers ::wp_dropdown_pages
 	 */
 	public function test_wp_dropdown_pages_should_not_contain_class_attribute_when_no_class_is_passed() {
 		$p = self::factory()->post->create(
@@ -324,6 +340,8 @@
 
 	/**
 	 * @ticket 30082
+	 *
+	 * @covers ::wp_dropdown_pages
 	 */
 	public function test_wp_dropdown_pages_should_obey_class_parameter() {
 		$p = self::factory()->post->create(
@@ -345,6 +363,8 @@
 
 	/**
 	 * @ticket 31389
+	 *
+	 * @covers ::get_page_template_slug
 	 */
 	public function test_get_page_template_slug_by_id() {
 		$page_id = self::factory()->post->create(
@@ -364,6 +384,8 @@
 
 	/**
 	 * @ticket 31389
+	 *
+	 * @covers ::get_page_template_slug
 	 */
 	public function test_get_page_template_slug_from_loop() {
 		$page_id = self::factory()->post->create(
@@ -381,6 +403,8 @@
 	/**
 	 * @ticket 31389
 	 * @ticket 18375
+	 *
+	 * @covers ::get_page_template_slug
 	 */
 	public function test_get_page_template_slug_non_page() {
 		$post_id = self::factory()->post->create();
@@ -397,6 +421,8 @@
 
 	/**
 	 * @ticket 18375
+	 *
+	 * @covers ::get_page_template_slug
 	 */
 	public function test_get_page_template_slug_non_page_from_loop() {
 		$post_id = self::factory()->post->create();
@@ -411,6 +437,8 @@
 	/**
 	 * @ticket 11095
 	 * @ticket 33974
+	 *
+	 * @covers ::wp_nav_menu
 	 */
 	public function test_wp_page_menu_wp_nav_menu_fallback() {
 		$pages = self::factory()->post->create_many( 3, array( 'post_type' => 'page' ) );
Index: tests/phpunit/tests/post/thumbnails.php
===================================================================
--- tests/phpunit/tests/post/thumbnails.php	(revision 49699)
+++ tests/phpunit/tests/post/thumbnails.php	(working copy)
@@ -31,6 +31,9 @@
 		parent::tearDownAfterClass();
 	}
 
+	/**
+	 * @covers ::has_post_thumbnail
+	 */
 	function test_has_post_thumbnail() {
 		$this->assertFalse( has_post_thumbnail( self::$post ) );
 		$this->assertFalse( has_post_thumbnail( self::$post->ID ) );
@@ -53,6 +56,9 @@
 		$this->assertTrue( has_post_thumbnail() );
 	}
 
+	/**
+	 * @covers ::get_post_thumbnail_id
+	 */
 	function test_get_post_thumbnail_id() {
 		$this->assertSame( 0, get_post_thumbnail_id( self::$post ) );
 		$this->assertSame( 0, get_post_thumbnail_id( self::$post->ID ) );
@@ -68,6 +74,9 @@
 		$this->assertSame( self::$attachment_id, get_post_thumbnail_id() );
 	}
 
+	/**
+	 * @covers ::update_post_thumbnail_cache
+	 */
 	function test_update_post_thumbnail_cache() {
 		set_post_thumbnail( self::$post, self::$attachment_id );
 
@@ -88,6 +97,8 @@
 
 	/**
 	 * @ticket 12235
+	 *
+	 * @covers ::get_the_post_thumbnail_caption
 	 */
 	function test_get_the_post_thumbnail_caption() {
 		$this->assertSame( '', get_the_post_thumbnail_caption() );
@@ -112,6 +123,8 @@
 
 	/**
 	 * @ticket 12235
+	 *
+	 * @covers ::get_the_post_thumbnail_caption
 	 */
 	function test_get_the_post_thumbnail_caption_empty() {
 		$post_id       = self::factory()->post->create();
@@ -132,6 +145,8 @@
 
 	/**
 	 * @ticket 12235
+	 *
+	 * @covers ::get_the_post_thumbnail_caption
 	 */
 	function test_the_post_thumbnail_caption() {
 		$caption = 'This is a caption.';
@@ -153,6 +168,9 @@
 		the_post_thumbnail_caption( $post_id );
 	}
 
+	/**
+	 * @covers ::get_the_post_thumbnail
+	 */
 	function test_get_the_post_thumbnail() {
 		$this->assertSame( '', get_the_post_thumbnail() );
 		$this->assertSame( '', get_the_post_thumbnail( self::$post ) );
@@ -174,6 +192,9 @@
 		$this->assertSame( $expected, get_the_post_thumbnail() );
 	}
 
+	/**
+	 * @covers ::the_post_thumbnail
+	 */
 	function test_the_post_thumbnail() {
 
 		$this->expectOutputString( '' );
@@ -201,6 +222,8 @@
 
 	/**
 	 * @ticket 33070
+	 *
+	 * @covers ::get_the_post_thumbnail_url
 	 */
 	function test_get_the_post_thumbnail_url() {
 		$this->assertFalse( has_post_thumbnail( self::$post ) );
@@ -219,6 +242,8 @@
 
 	/**
 	 * @ticket 33070
+	 *
+	 * @covers ::get_the_post_thumbnail_url
 	 */
 	function test_get_the_post_thumbnail_url_with_invalid_post() {
 		set_post_thumbnail( self::$post, self::$attachment_id );
@@ -233,6 +258,8 @@
 
 	/**
 	 * @ticket 33070
+	 *
+	 * @covers ::the_post_thumbnail_url
 	 */
 	function test_the_post_thumbnail_url() {
 		$GLOBALS['post'] = self::$post;
@@ -248,6 +275,8 @@
 
 	/**
 	 * @ticket 12922
+	 *
+	 * @covers ::_wp_preview_post_thumbnail_filter
 	 */
 	function test__wp_preview_post_thumbnail_filter() {
 		$old_post = isset( $GLOBALS['post'] ) ? $GLOBALS['post'] : null;
@@ -268,6 +297,8 @@
 
 	/**
 	 * @ticket 37697
+	 *
+	 * @covers ::_wp_preview_post_thumbnail_filter
 	 */
 	function test__wp_preview_post_thumbnail_filter_secondary_post() {
 		$old_post = isset( $GLOBALS['post'] ) ? $GLOBALS['post'] : null;
@@ -294,6 +325,8 @@
 
 	/**
 	 * @ticket 12922
+	 *
+	 * @covers ::wp_insert_post
 	 */
 	function test_insert_post_with_post_thumbnail() {
 		$post_id = wp_insert_post(
@@ -325,6 +358,8 @@
 
 	/**
 	 * @ticket 37658
+	 *
+	 * @covers ::wp_insert_post
 	 */
 	function test_insert_attachment_with_post_thumbnail() {
 		// Audio files support featured images.
@@ -364,6 +399,8 @@
 
 	/**
 	 * @ticket 39030
+	 *
+	 * @covers ::get_the_post_thumbnail
 	 */
 	function test_post_thumbnail_size_filter_simple() {
 		$this->current_size_filter_data = 'medium';
@@ -385,6 +422,8 @@
 	/**
 	 * @ticket 39030
 	 * @dataProvider data_post_thumbnail_size_filter_complex
+	 *
+	 * @covers ::get_the_post_thumbnail
 	 */
 	function test_post_thumbnail_size_filter_complex( $which_post, $expected ) {
 		$this->current_size_filter_data = array(
Index: tests/phpunit/tests/post/types.php
===================================================================
--- tests/phpunit/tests/post/types.php	(revision 49699)
+++ tests/phpunit/tests/post/types.php	(working copy)
@@ -24,6 +24,9 @@
 		$this->post_type = rand_str( 20 );
 	}
 
+	/**
+	 * @covers ::register_post_type
+	 */
 	function test_register_post_type() {
 		$this->assertNull( get_post_type_object( 'foo' ) );
 		register_post_type( 'foo' );
@@ -41,6 +44,8 @@
 
 	/**
 	 * @ticket 48558
+	 *
+	 * @covers ::register_post_type
 	 */
 	function test_register_post_type_return_value() {
 		$this->assertInstanceOf( 'WP_Post_Type', register_post_type( 'foo' ) );
@@ -50,6 +55,8 @@
 	 * @ticket 31134
 	 *
 	 * @expectedIncorrectUsage register_post_type
+	 *
+	 * @covers ::register_post_type
 	 */
 	function test_register_post_type_with_too_long_name() {
 		// Post type too long.
@@ -60,6 +67,8 @@
 	 * @ticket 31134
 	 *
 	 * @expectedIncorrectUsage register_post_type
+	 *
+	 * @covers ::register_post_type
 	 */
 	function test_register_post_type_with_empty_name() {
 		// Post type too short.
@@ -68,6 +77,7 @@
 
 	/**
 	 * @ticket 35985
+	 *
 	 * @covers ::register_post_type
 	 */
 	function test_register_post_type_exclude_from_search_should_default_to_opposite_value_of_public() {
@@ -82,6 +92,7 @@
 
 	/**
 	 * @ticket 35985
+	 *
 	 * @covers ::register_post_type
 	 */
 	function test_register_post_type_publicly_queryable_should_default_to_value_of_public() {
@@ -96,6 +107,7 @@
 
 	/**
 	 * @ticket 35985
+	 *
 	 * @covers ::register_post_type
 	 */
 	function test_register_post_type_show_ui_should_default_to_value_of_public() {
@@ -110,6 +122,7 @@
 
 	/**
 	 * @ticket 35985
+	 *
 	 * @covers ::register_post_type
 	 */
 	function test_register_post_type_show_in_menu_should_default_to_value_of_show_ui() {
@@ -129,6 +142,7 @@
 
 	/**
 	 * @ticket 35985
+	 *
 	 * @covers ::register_post_type
 	 */
 	function test_register_post_type_show_in_nav_menus_should_default_to_value_of_public() {
@@ -143,6 +157,7 @@
 
 	/**
 	 * @ticket 35985
+	 *
 	 * @covers ::register_post_type
 	 */
 	function test_register_post_type_show_in_admin_bar_should_default_to_value_of_show_in_menu() {
@@ -163,6 +178,9 @@
 		$this->assertSame( $public, $args->show_in_admin_bar );
 	}
 
+	/**
+	 * @covers ::register_taxonomy_for_object_type
+	 */
 	function test_register_taxonomy_for_object_type() {
 		global $wp_taxonomies;
 
@@ -185,11 +203,17 @@
 		_unregister_post_type( 'bar' );
 	}
 
+	/**
+	 * @covers ::post_type_exists
+	 */
 	function test_post_type_exists() {
 		$this->assertFalse( post_type_exists( 'notaposttype' ) );
 		$this->assertTrue( post_type_exists( 'post' ) );
 	}
 
+	/**
+	 * @covers ::post_type_supports
+	 */
 	function test_post_type_supports() {
 		$this->assertTrue( post_type_supports( 'post', 'post-formats' ) );
 		$this->assertFalse( post_type_supports( 'page', 'post-formats' ) );
@@ -200,6 +224,8 @@
 
 	/**
 	 * @ticket 21586
+	 *
+	 * @covers ::post_type_supports
 	 */
 	function test_post_type_with_no_support() {
 		register_post_type( 'foo', array( 'supports' => array() ) );
@@ -215,6 +241,8 @@
 
 	/**
 	 * @ticket 23302
+	 *
+	 * @covers ::register_post_type
 	 */
 	function test_post_type_with_no_feed() {
 		global $wp_rewrite;
@@ -228,6 +256,8 @@
 
 	/**
 	 * @ticket 30013
+	 *
+	 * @covers ::get_post_type_object
 	 */
 	public function test_get_post_type_object_with_non_scalar_values() {
 		$this->assertFalse( post_type_exists( 'foo' ) );
@@ -248,6 +278,8 @@
 
 	/**
 	 * @ticket 33023
+	 *
+	 * @covers ::get_post_type_object
 	 */
 	public function test_get_post_type_object_casting() {
 		register_post_type( 'foo' );
@@ -265,6 +297,8 @@
 
 	/**
 	 * @ticket 38844
+	 *
+	 * @covers ::get_post_type_object
 	 */
 	public function test_get_post_type_object_includes_menu_icon_for_builtin_post_types() {
 		$this->assertSame( 'dashicons-admin-post', get_post_type_object( 'post' )->menu_icon );
@@ -274,6 +308,8 @@
 
 	/**
 	 * @ticket 14761
+	 *
+	 * @covers ::unregister_post_type
 	 */
 	public function test_unregister_post_type() {
 		register_post_type( 'foo' );
@@ -282,6 +318,8 @@
 
 	/**
 	 * @ticket 14761
+	 *
+	 * @covers ::unregister_post_type
 	 */
 	public function test_unregister_post_type_unknown_post_type() {
 		$this->assertWPError( unregister_post_type( 'foo' ) );
@@ -289,6 +327,8 @@
 
 	/**
 	 * @ticket 14761
+	 *
+	 * @covers ::unregister_post_type
 	 */
 	public function test_unregister_post_type_twice() {
 		register_post_type( 'foo' );
@@ -298,6 +338,8 @@
 
 	/**
 	 * @ticket 14761
+	 *
+	 * @covers ::unregister_post_type
 	 */
 	public function test_unregister_post_type_disallow_builtin_post_type() {
 		$this->assertWPError( unregister_post_type( 'post' ) );
@@ -309,6 +351,8 @@
 
 	/**
 	 * @ticket 14761
+	 *
+	 * @covers ::unregister_post_type
 	 */
 	public function test_unregister_post_type_removes_query_vars() {
 		global $wp;
@@ -328,6 +372,8 @@
 
 	/**
 	 * @ticket 14761
+	 *
+	 * @covers ::unregister_post_type
 	 */
 	public function test_unregister_post_type_removes_rewrite_tags() {
 		$this->set_permalink_structure( '/%postname%' );
@@ -354,6 +400,8 @@
 
 	/**
 	 * @ticket 14761
+	 *
+	 * @covers ::unregister_post_type
 	 */
 	public function test_unregister_post_type_removes_rewrite_rules() {
 		$this->set_permalink_structure( '/%postname%' );
@@ -375,6 +423,8 @@
 
 	/**
 	 * @ticket 14761
+	 *
+	 * @covers ::unregister_post_type
 	 */
 	public function test_unregister_post_type_removes_custom_meta_capabilities() {
 		global $post_type_meta_caps;
@@ -401,6 +451,8 @@
 
 	/**
 	 * @ticket 14761
+	 *
+	 * @covers ::unregister_post_type
 	 */
 	public function test_unregister_post_type_removes_post_type_supports() {
 		global $_wp_post_type_features;
@@ -427,6 +479,8 @@
 
 	/**
 	 * @ticket 14761
+	 *
+	 * @covers ::unregister_post_type
 	 */
 	public function test_unregister_post_type_removes_post_type_from_taxonomies() {
 		global $wp_taxonomies;
@@ -449,6 +503,8 @@
 
 	/**
 	 * @ticket 14761
+	 *
+	 * @covers ::unregister_post_type
 	 */
 	public function test_unregister_post_type_removes_the_future_post_hooks() {
 		global $wp_filter;
@@ -468,6 +524,8 @@
 
 	/**
 	 * @ticket 14761
+	 *
+	 * @covers ::unregister_post_type
 	 */
 	public function test_unregister_post_type_removes_meta_box_callback() {
 		global $wp_filter;
@@ -488,6 +546,8 @@
 
 	/**
 	 * @ticket 14761
+	 *
+	 * @covers ::unregister_post_type
 	 */
 	public function test_unregister_post_type_removes_post_type_from_global() {
 		global $wp_post_types;
@@ -510,6 +570,9 @@
 
 	/**
 	 * @ticket 14761
+	 *
+	 * @covers ::unregister_post_type
+	 * @covers ::post_type_exists
 	 */
 	public function test_post_type_does_not_exist_after_unregister_post_type() {
 		register_post_type(
@@ -526,6 +589,8 @@
 
 	/**
 	 * @ticket 34010
+	 *
+	 * @covers ::get_post_types_by_support
 	 */
 	public function test_get_post_types_by_support_single_feature() {
 		$this->assertContains( 'post', get_post_types_by_support( 'title' ) );
@@ -536,6 +601,8 @@
 
 	/**
 	 * @ticket 34010
+	 *
+	 * @covers ::get_post_types_by_support
 	 */
 	public function test_get_post_types_by_support_multiple_features() {
 		$this->assertContains( 'post', get_post_types_by_support( array( 'thumbnail', 'author' ) ) );
@@ -544,6 +611,8 @@
 
 	/**
 	 * @ticket 34010
+	 *
+	 * @covers ::get_post_types_by_support
 	 */
 	public function test_get_post_types_by_support_or_operator() {
 		$this->assertContains( 'post', get_post_types_by_support( array( 'post-formats', 'page-attributes' ), 'or' ) );
@@ -552,6 +621,8 @@
 
 	/**
 	 * @ticket 34010
+	 *
+	 * @covers ::get_post_types_by_support
 	 */
 	public function test_get_post_types_by_support_not_operator() {
 		$this->assertContains( 'attachment', get_post_types_by_support( array( 'thumbnail' ), 'not' ) );
@@ -561,6 +632,8 @@
 
 	/**
 	 * @ticket 34010
+	 *
+	 * @covers ::get_post_types_by_support
 	 */
 	public function test_get_post_types_by_support_excluding_features() {
 		$this->assertSameSets( array(), get_post_types_by_support( array( 'post-formats', 'page-attributes' ) ) );
@@ -568,6 +641,8 @@
 
 	/**
 	 * @ticket 34010
+	 *
+	 * @covers ::get_post_types_by_support
 	 */
 	public function test_get_post_types_by_support_non_existant_feature() {
 		$this->assertSameSets( array(), get_post_types_by_support( 'somefeature' ) );
Index: tests/phpunit/tests/post/walkerPage.php
===================================================================
--- tests/phpunit/tests/post/walkerPage.php	(revision 49699)
+++ tests/phpunit/tests/post/walkerPage.php	(working copy)
@@ -25,6 +25,8 @@
 	 * @ticket 47720
 	 *
 	 * @dataProvider data_start_el_with_empty_attributes
+	 *
+	 * @covers Walker_Page::start_el
 	 */
 	public function test_start_el_with_empty_attributes( $value, $expected ) {
 		$output = '';
Index: tests/phpunit/tests/post/wpGetPostParentId.php
===================================================================
--- tests/phpunit/tests/post/wpGetPostParentId.php	(revision 49699)
+++ tests/phpunit/tests/post/wpGetPostParentId.php	(working copy)
@@ -23,6 +23,9 @@
 		self::$post_id        = $factory->post->create( array( 'post_parent' => self::$parent_post_id ) );
 	}
 
+	/**
+	 * @covers ::wp_get_post_parent_id
+	 */
 	public function test_wp_get_post_parent_id_with_post_object() {
 		$post = get_post( self::$post_id );
 		$this->assertInstanceOf( 'WP_Post', $post );
@@ -29,20 +32,32 @@
 		$this->assertSame( self::$parent_post_id, wp_get_post_parent_id( $post ) );
 	}
 
+	/**
+	 * @covers ::wp_get_post_parent_id
+	 */
 	public function test_wp_get_post_parent_id_with_post_id() {
 		$this->assertSame( self::$parent_post_id, wp_get_post_parent_id( self::$post_id ) );
 	}
 
+	/**
+	 * @covers ::wp_get_post_parent_id
+	 */
 	public function test_wp_get_post_parent_id_with_non_existing_id_default_to_global_post_id() {
 		$GLOBALS['post'] = get_post( self::$post_id );
 		$this->assertSame( self::$parent_post_id, wp_get_post_parent_id( 0 ) );
 	}
 
+	/**
+	 * @covers ::wp_get_post_parent_id
+	 */
 	public function test_wp_get_post_parent_id_with_boolean_default_to_global_post_id() {
 		$GLOBALS['post'] = get_post( self::$post_id );
 		$this->assertSame( self::$parent_post_id, wp_get_post_parent_id( false ) );
 	}
 
+	/**
+	 * @covers ::wp_get_post_parent_id
+	 */
 	public function test_wp_get_post_parent_id_with_string_default_to_false() {
 		$GLOBALS['post'] = get_post( self::$post_id );
 		$this->assertFalse( wp_get_post_parent_id( 'string' ) );
Index: tests/phpunit/tests/post/wpInsertPost.php
===================================================================
--- tests/phpunit/tests/post/wpInsertPost.php	(revision 49699)
+++ tests/phpunit/tests/post/wpInsertPost.php	(working copy)
@@ -67,6 +67,8 @@
 
 	/**
 	 * @ticket 11863
+	 *
+	 * @covers ::wp_trash_post
 	 */
 	function test_trashing_a_post_should_add_trashed_suffix_to_post_name() {
 		$trashed_about_page_id = self::factory()->post->create(
@@ -76,12 +78,14 @@
 				'post_status' => 'publish',
 			)
 		);
-		wp_trash_post( $trashed_about_page_id );
+		( $trashed_about_page_id );
 		$this->assertSame( 'about__trashed', get_post( $trashed_about_page_id )->post_name );
 	}
 
 	/**
 	 * @ticket 11863
+	 *
+	 * @covers ::wp_trash_post
 	 */
 	public function test_trashed_suffix_should_be_added_to_post_with__trashed_in_slug() {
 		$trashed_about_page_id = self::factory()->post->create(
@@ -98,6 +102,8 @@
 
 	/**
 	 * @ticket 11863
+	 *
+	 * @covers ::wp_untrash_post
 	 */
 	function test_trashed_posts_original_post_name_should_be_reassigned_after_untrashing() {
 		$about_page_id = self::factory()->post->create(
@@ -115,6 +121,8 @@
 
 	/**
 	 * @ticket 11863
+	 *
+	 * @covers ::wp_insert_post
 	 */
 	function test_creating_a_new_post_should_add_trashed_suffix_to_post_name_of_trashed_posts_with_the_desired_slug() {
 		$trashed_about_page_id = self::factory()->post->create(
@@ -139,6 +147,8 @@
 
 	/**
 	 * @ticket 11863
+	 *
+	 * @covers ::wp_untrash_post
 	 */
 	function test_untrashing_a_post_with_a_stored_desired_post_name_should_get_its_post_name_suffixed_if_another_post_has_taken_the_desired_post_name() {
 		$about_page_id = self::factory()->post->create(
@@ -173,6 +183,8 @@
 	/**
 	 * @ticket 23022
 	 * @dataProvider data_various_post_statuses
+	 *
+	 * @covers ::wp_untrash_post
 	 */
 	function test_untrashing_a_post_should_always_restore_it_to_draft_status( $post_status ) {
 		$page_id = self::factory()->post->create(
@@ -191,6 +203,8 @@
 	/**
 	 * @ticket 23022
 	 * @dataProvider data_various_post_statuses
+	 *
+	 * @covers ::wp_untrash_post
 	 */
 	function test_wp_untrash_post_status_filter_restores_post_to_correct_status( $post_status ) {
 		add_filter( 'wp_untrash_post_status', 'wp_untrash_post_set_previous_status', 10, 3 );
@@ -256,6 +270,9 @@
 	 *
 	 * @ticket 42464
 	 * @dataProvider data_various_post_types
+	 *
+	 * @covers ::wp_insert_post
+	 * @covers ::wp_update_post
 	 */
 	function test_contributor_cannot_set_post_slug( $post_type ) {
 		wp_set_current_user( self::$user_ids['contributor'] );
@@ -295,6 +312,9 @@
 	 *
 	 * @ticket 42464
 	 * @dataProvider data_various_post_types
+	 *
+	 * @covers ::wp_insert_post
+	 * @covers ::wp_update_post
 	 */
 	function test_administrator_can_set_post_slug( $post_type ) {
 		wp_set_current_user( self::$user_ids['administrator'] );
@@ -336,6 +356,9 @@
 	 * These assertions failed prior to ticket #42464.
 	 *
 	 * @ticket 42464
+	 *
+	 * @covers ::wp_insert_post
+	 * @covers ::wp_update_post
 	 */
 	function test_administrator_cannot_set_post_slug_on_post_type_they_cannot_publish() {
 		wp_set_current_user( self::$user_ids['administrator'] );
@@ -372,6 +395,8 @@
 
 	/**
 	 * @ticket 25347
+	 *
+	 * @covers ::wp_insert_post
 	 */
 	function test_scheduled_post_with_a_past_date_should_be_published() {
 
Index: tests/phpunit/tests/post/wpListPages.php
===================================================================
--- tests/phpunit/tests/post/wpListPages.php	(revision 49699)
+++ tests/phpunit/tests/post/wpListPages.php	(working copy)
@@ -115,6 +115,9 @@
 		}
 	}
 
+	/**
+	 * @covers ::wp_list_pages
+	 */
 	function test_wp_list_pages_default() {
 		$args = array(
 			'echo' => false,
@@ -146,6 +149,9 @@
 		$this->assertSameIgnoreEOL( $expected, wp_list_pages( $args ) );
 	}
 
+	/**
+	 * @covers ::wp_list_pages
+	 */
 	function test_wp_list_pages_depth() {
 		$args = array(
 			'echo'  => false,
@@ -176,6 +182,9 @@
 		$this->assertSameIgnoreEOL( $expected, wp_list_pages( $args ) );
 	}
 
+	/**
+	 * @covers ::wp_list_pages
+	 */
 	function test_wp_list_pages_date_format() {
 		$args = array(
 			'echo'        => false,
@@ -224,6 +233,9 @@
 		$this->assertSameIgnoreEOL( $expected, wp_list_pages( $args ) );
 	}
 
+	/**
+	 * @covers ::wp_list_pages
+	 */
 	function test_wp_list_pages_exclude() {
 		$args = array(
 			'echo'    => false,
@@ -252,6 +264,9 @@
 		$this->assertSameIgnoreEOL( $expected, wp_list_pages( $args ) );
 	}
 
+	/**
+	 * @covers ::wp_list_pages
+	 */
 	function test_wp_list_pages_title_li() {
 		$args = array(
 			'echo'     => false,
@@ -267,6 +282,9 @@
 		$this->assertSameIgnoreEOL( $expected, wp_list_pages( $args ) );
 	}
 
+	/**
+	 * @covers ::wp_list_pages
+	 */
 	function test_wp_list_pages_echo() {
 		$args = array(
 			'echo'  => true,
@@ -282,6 +300,9 @@
 		wp_list_pages( $args );
 	}
 
+	/**
+	 * @covers ::wp_list_pages
+	 */
 	function test_wp_list_pages_authors() {
 		$args = array(
 			'echo'    => false,
@@ -294,6 +315,9 @@
 		$this->assertSameIgnoreEOL( $expected, wp_list_pages( $args ) );
 	}
 
+	/**
+	 * @covers ::wp_list_pages
+	 */
 	function test_wp_list_pages_number() {
 		$args = array(
 			'echo'        => false,
@@ -307,6 +331,9 @@
 		$this->assertSameIgnoreEOL( $expected, wp_list_pages( $args ) );
 	}
 
+	/**
+	 * @covers ::wp_list_pages
+	 */
 	function test_wp_list_pages_sort_column() {
 		$args = array(
 			'echo'        => false,
@@ -323,6 +350,9 @@
 		$this->assertSameIgnoreEOL( $expected, wp_list_pages( $args ) );
 	}
 
+	/**
+	 * @covers ::wp_list_pages
+	 */
 	function test_wp_list_pages_link_before() {
 		$args = array(
 			'echo'        => false,
@@ -355,6 +385,9 @@
 		$this->assertSameIgnoreEOL( $expected, wp_list_pages( $args ) );
 	}
 
+	/**
+	 * @covers ::wp_list_pages
+	 */
 	function test_wp_list_pages_link_after() {
 		$args = array(
 			'echo'       => false,
@@ -388,6 +421,9 @@
 	}
 
 
+	/**
+	 * @covers ::wp_list_pages
+	 */
 	function test_wp_list_pages_include() {
 		$args = array(
 			'echo'    => false,
@@ -401,6 +437,9 @@
 		$this->assertSameIgnoreEOL( $expected, wp_list_pages( $args ) );
 	}
 
+	/**
+	 * @covers ::wp_list_pages
+	 */
 	function test_wp_list_pages_exclude_tree() {
 		$args = array(
 			'echo'         => false,
@@ -419,6 +458,9 @@
 		$this->assertSameIgnoreEOL( $expected, wp_list_pages( $args ) );
 	}
 
+	/**
+	 * @covers ::wp_list_pages
+	 */
 	function test_wp_list_pages_discarded_whitespace() {
 		$args = array(
 			'echo'         => false,
Index: tests/phpunit/tests/post/wpPost.php
===================================================================
--- tests/phpunit/tests/post/wpPost.php	(revision 49699)
+++ tests/phpunit/tests/post/wpPost.php	(working copy)
@@ -25,6 +25,8 @@
 
 	/**
 	 * @ticket 37738
+	 *
+	 * @covers WP_Post::get_instance
 	 */
 	public function test_get_instance_should_work_for_numeric_string() {
 		$found = WP_Post::get_instance( (string) self::$post_id );
@@ -34,6 +36,8 @@
 
 	/**
 	 * @ticket 37738
+	 *
+	 * @covers WP_Post::get_instance
 	 */
 	public function test_get_instance_should_fail_for_negative_number() {
 		$found = WP_Post::get_instance( -self::$post_id );
@@ -43,6 +47,8 @@
 
 	/**
 	 * @ticket 37738
+	 *
+	 * @covers WP_Post::get_instance
 	 */
 	public function test_get_instance_should_fail_for_non_numeric_string() {
 		$found = WP_Post::get_instance( 'abc' );
@@ -52,6 +58,8 @@
 
 	/**
 	 * @ticket 37738
+	 *
+	 * @covers WP_Post::get_instance
 	 */
 	public function test_get_instance_should_succeed_for_float_that_is_equal_to_post_id() {
 		$found = WP_Post::get_instance( 1.0 );
Index: tests/phpunit/tests/post/wpPostType.php
===================================================================
--- tests/phpunit/tests/post/wpPostType.php	(revision 49699)
+++ tests/phpunit/tests/post/wpPostType.php	(working copy)
@@ -12,6 +12,10 @@
 		}
 	}
 
+	/**
+	 * @covers WP_Post_Type::add_supports
+	 * @covers WP_Post_Type::remove_supports
+	 */
 	public function test_add_supports_defaults() {
 		$post_type        = 'cpt';
 		$post_type_object = new WP_Post_Type( $post_type );
@@ -32,6 +36,10 @@
 		$this->assertSameSets( array(), $post_type_supports_after );
 	}
 
+	/**
+	 * @covers WP_Post_Type::add_supports
+	 * @covers WP_Post_Type::remove_supports
+	 */
 	public function test_add_supports_custom() {
 		$post_type        = 'cpt';
 		$post_type_object = new WP_Post_Type(
@@ -66,6 +74,9 @@
 	 * Test that supports can optionally receive nested args.
 	 *
 	 * @ticket 40413
+	 *
+	 * @covers WP_Post_Type::add_supports
+	 * @covers WP_Post_Type::remove_supports
 	 */
 	public function test_add_supports_custom_with_args() {
 		$post_type        = 'cpt';
@@ -103,6 +114,10 @@
 		$this->assertSameSets( array(), $post_type_supports_after );
 	}
 
+	/**
+	 * @covers WP_Post_Type::__construct
+	 * @covers WP_Post_Type::add_rewrite_rules
+	 */
 	public function test_does_not_add_query_var_if_not_public() {
 		$this->set_permalink_structure( '/%postname%' );
 
@@ -122,6 +137,10 @@
 		$this->assertFalse( in_array( 'foobar', $wp->public_query_vars, true ) );
 	}
 
+	/**
+	 * @covers WP_Post_Type::__construct
+	 * @covers WP_Post_Type::add_rewrite_rules
+	 */
 	public function test_adds_query_var_if_public() {
 		$this->set_permalink_structure( '/%postname%' );
 
@@ -148,6 +167,10 @@
 		$this->assertFalse( $in_array_after );
 	}
 
+	/**
+	 * @covers WP_Post_Type::add_rewrite_rules
+	 * @covers WP_Post_Type::remove_rewrite_rules
+	 */
 	public function test_adds_rewrite_rules() {
 		$this->set_permalink_structure( '/%postname%' );
 
@@ -173,6 +196,10 @@
 		$this->assertFalse( array_search( "%$post_type%", $rewrite_tags_after, true ) );
 	}
 
+	/**
+	 * @covers WP_Post_Type::register_meta_boxes
+	 * @covers WP_Post_Type::unregister_meta_boxes
+	 */
 	public function test_register_meta_boxes() {
 		$post_type        = 'cpt';
 		$post_type_object = new WP_Post_Type( $post_type, array( 'register_meta_box_cb' => '__return_false' ) );
@@ -186,6 +213,10 @@
 		$this->assertFalse( $has_action_after );
 	}
 
+	/**
+	 * @covers WP_Post_Type::add_hooks
+	 * @covers WP_Post_Type::remove_hooks
+	 */
 	public function test_adds_future_post_hook() {
 		$post_type        = 'cpt';
 		$post_type_object = new WP_Post_Type( $post_type );
@@ -198,6 +229,10 @@
 		$this->assertFalse( $has_action_after );
 	}
 
+	/**
+	 * @covers WP_Post_Type::register_taxonomies
+	 * @covers WP_Post_Type::unregister_taxonomies
+	 */
 	public function test_register_taxonomies() {
 		global $wp_post_types;
 
Index: tests/phpunit/tests/post/wpPublishPost.php
===================================================================
--- tests/phpunit/tests/post/wpPublishPost.php	(revision 49699)
+++ tests/phpunit/tests/post/wpPublishPost.php	(working copy)
@@ -25,6 +25,8 @@
 	 * Ensure wp_publish_post does not add default category in error.
 	 *
 	 * @ticket 51292
+	 *
+	 * @covers ::wp_publish_post
 	 */
 	function test_wp_publish_post_respects_current_categories() {
 		$post_id     = self::$auto_draft_id;
@@ -43,9 +45,9 @@
 
 	/**
 	 * Ensure wp_publish_post adds default category.
+	 * @ticket 51292
 	 *
 	 * @covers ::wp_publish_post
-	 * @ticket 51292
 	 */
 	function test_wp_publish_post_adds_default_category() {
 		$post_id = self::$auto_draft_id;
@@ -63,9 +65,9 @@
 
 	/**
 	 * Ensure wp_publish_post adds default category when tagged.
+	 * @ticket 51292
 	 *
 	 * @covers ::wp_publish_post
-	 * @ticket 51292
 	 */
 	function test_wp_publish_post_adds_default_category_when_tagged() {
 		$post_id = self::$auto_draft_id;
@@ -84,9 +86,9 @@
 
 	/**
 	 * Ensure wp_publish_post does not add default term in error.
+	 * @ticket 51292
 	 *
 	 * @covers ::wp_publish_post
-	 * @ticket 51292
 	 */
 	function test_wp_publish_post_respects_current_terms() {
 		// Create custom taxonomy to test with.
@@ -119,9 +121,9 @@
 
 	/**
 	 * Ensure wp_publish_post adds default term.
+	 * @ticket 51292
 	 *
 	 * @covers ::wp_publish_post
-	 * @ticket 51292
 	 */
 	function test_wp_publish_post_adds_default_term() {
 		// Create custom taxonomy to test with.
Index: tests/phpunit/tests/post/wpUniquePostSlug.php
===================================================================
--- tests/phpunit/tests/post/wpUniquePostSlug.php	(revision 49699)
+++ tests/phpunit/tests/post/wpUniquePostSlug.php	(working copy)
@@ -8,6 +8,8 @@
 
 	/**
 	 * @ticket 21013
+	 *
+	 * @covers ::wp_insert_post
 	 */
 	public function test_non_latin_slugs() {
 		$author_id = self::factory()->user->create( array( 'role' => 'editor' ) );
@@ -42,6 +44,8 @@
 
 	/**
 	 * @ticket 18962
+	 *
+	 * @covers ::wp_unique_post_slug
 	 */
 	public function test_with_multiple_hierarchies() {
 		register_post_type( 'post-type-1', array( 'hierarchical' => true ) );
@@ -68,6 +72,8 @@
 
 	/**
 	 * @ticket 30339
+	 *
+	 * @covers ::wp_unique_post_slug
 	 */
 	public function test_with_hierarchy() {
 		register_post_type( 'post-type-1', array( 'hierarchical' => true ) );
@@ -91,6 +97,8 @@
 
 	/**
 	 * @ticket 18962
+	 *
+	 * @covers ::wp_unique_post_slug
 	 */
 	function test_wp_unique_post_slug_with_hierarchy_and_attachments() {
 		register_post_type( 'post-type-1', array( 'hierarchical' => true ) );
@@ -129,6 +137,8 @@
 
 	/**
 	 * @dataProvider allowed_post_statuses
+	 *
+	 * @covers ::wp_unique_post_slug
 	 */
 	public function test_allowed_post_statuses_should_not_be_forced_to_be_unique( $status ) {
 		$p1 = self::factory()->post->create(
@@ -157,6 +167,9 @@
 		);
 	}
 
+	/**
+	 * @covers ::wp_unique_post_slug
+	 */
 	public function test_revisions_should_not_be_forced_to_be_unique() {
 		$p1 = self::factory()->post->create(
 			array(
@@ -178,6 +191,8 @@
 
 	/**
 	 * @ticket 5305
+	 *
+	 * @covers ::wp_unique_post_slug
 	 */
 	public function test_slugs_resulting_in_permalinks_that_resemble_year_archives_should_be_suffixed() {
 		$this->set_permalink_structure( '/%postname%/' );
@@ -195,6 +210,8 @@
 
 	/**
 	 * @ticket 5305
+	 *
+	 * @covers ::wp_unique_post_slug
 	 */
 	public function test_slugs_resulting_in_permalinks_that_resemble_year_archives_should_not_be_suffixed_for_already_published_posts() {
 		$this->set_permalink_structure( '/%postname%/' );
@@ -213,6 +230,8 @@
 
 	/**
 	 * @ticket 5305
+	 *
+	 * @covers ::wp_unique_post_slug
 	 */
 	public function test_yearlike_slugs_should_not_be_suffixed_if_permalink_structure_does_not_result_in_a_clash_with_year_archives() {
 		$this->set_permalink_structure( '/%year%/%postname%/' );
@@ -230,6 +249,8 @@
 
 	/**
 	 * @ticket 5305
+	 *
+	 * @covers ::wp_unique_post_slug
 	 */
 	public function test_slugs_resulting_in_permalinks_that_resemble_month_archives_should_be_suffixed() {
 		$this->set_permalink_structure( '/%year%/%postname%/' );
@@ -247,6 +268,8 @@
 
 	/**
 	 * @ticket 5305
+	 *
+	 * @covers ::wp_unique_post_slug
 	 */
 	public function test_monthlike_slugs_should_not_be_suffixed_if_permalink_structure_does_not_result_in_a_clash_with_month_archives() {
 		$this->set_permalink_structure( '/%year%/foo/%postname%/' );
@@ -264,6 +287,8 @@
 
 	/**
 	 * @ticket 5305
+	 *
+	 * @covers ::wp_unique_post_slug
 	 */
 	public function test_monthlike_slugs_should_not_be_suffixed_for_invalid_month_numbers() {
 		$this->set_permalink_structure( '/%year%/%postname%/' );
@@ -281,6 +306,8 @@
 
 	/**
 	 * @ticket 5305
+	 *
+	 * @covers ::wp_unique_post_slug
 	 */
 	public function test_slugs_resulting_in_permalinks_that_resemble_day_archives_should_be_suffixed() {
 		$this->set_permalink_structure( '/%year%/%monthnum%/%postname%/' );
@@ -298,6 +325,8 @@
 
 	/**
 	 * @ticket 5305
+	 *
+	 * @covers ::wp_unique_post_slug
 	 */
 	public function test_daylike_slugs_should_not_be_suffixed_if_permalink_structure_does_not_result_in_a_clash_with_day_archives() {
 		$this->set_permalink_structure( '/%year%/%monthnum%/%day%/%postname%/' );
@@ -315,6 +344,8 @@
 
 	/**
 	 * @ticket 5305
+	 *
+	 * @covers ::wp_unique_post_slug
 	 */
 	public function test_daylike_slugs_should_not_be_suffixed_for_invalid_day_numbers() {
 		$this->set_permalink_structure( '/%year%/%monthnum%/%postname%/' );
@@ -332,6 +363,8 @@
 
 	/**
 	 * @ticket 34971
+	 *
+	 * @covers ::wp_unique_post_slug
 	 */
 	public function test_embed_slug_should_be_suffixed_for_posts() {
 		$this->set_permalink_structure( '/%postname%/' );
@@ -349,6 +382,8 @@
 
 	/**
 	 * @ticket 34971
+	 *
+	 * @covers ::wp_unique_post_slug
 	 */
 	public function test_embed_slug_should_be_suffixed_for_pages() {
 		$this->set_permalink_structure( '/%postname%/' );
@@ -366,6 +401,8 @@
 
 	/**
 	 * @ticket 34971
+	 *
+	 * @covers ::wp_unique_post_slug
 	 */
 	public function test_embed_slug_should_be_suffixed_for_attachments() {
 		$this->set_permalink_structure( '/%postname%/' );
Index: tests/phpunit/tests/privacy/wpCreateUserRequest.php
===================================================================
--- tests/phpunit/tests/privacy/wpCreateUserRequest.php	(revision 49699)
+++ tests/phpunit/tests/privacy/wpCreateUserRequest.php	(working copy)
@@ -84,6 +84,8 @@
 	 * Ensure a WP_Error is returned when an invalid email is passed.
 	 *
 	 * @ticket 44707
+	 *
+	 * @covers ::wp_create_user_request
 	 */
 	public function test_invalid_email() {
 		$actual = wp_create_user_request( 'not-a-valid-email', 'export_personal_data' );
@@ -96,6 +98,8 @@
 	 * Ensure a WP_Error is returned when no action is passed.
 	 *
 	 * @ticket 46536
+	 *
+	 * @covers ::wp_create_user_request
 	 */
 	public function test_missing_action() {
 		$actual = wp_create_user_request( self::$registered_user_email, false );
@@ -109,6 +113,8 @@
 	 *
 	 * @ticket 44707
 	 * @ticket 46536
+	 *
+	 * @covers ::wp_create_user_request
 	 */
 	public function test_invalid_action() {
 		$actual = wp_create_user_request( self::$registered_user_email, 'invalid_action_name' );
@@ -121,6 +127,8 @@
 	 * When there are incomplete requests for a registered user, a WP_Error should be returned.
 	 *
 	 * @ticket 44707
+	 *
+	 * @covers ::wp_create_user_request
 	 */
 	public function test_failure_due_to_incomplete_registered_user() {
 		// Second request (duplicated).
@@ -134,6 +142,8 @@
 	 * When there are incomplete requests for an non-registered user, a WP_Error should be returned.
 	 *
 	 * @ticket 44707
+	 *
+	 * @covers ::wp_create_user_request
 	 */
 	public function test_failure_due_to_incomplete_unregistered_user() {
 		// Update first request.
@@ -156,6 +166,8 @@
 	 * Ensure emails are properly sanitized.
 	 *
 	 * @ticket 44707
+	 *
+	 * @covers ::wp_create_user_request
 	 */
 	public function test_sanitized_email() {
 		$actual = wp_create_user_request( 'some(email<withinvalid\characters@local.test', 'export_personal_data' );
@@ -172,6 +184,8 @@
 	 * Ensure action names are properly sanitized.
 	 *
 	 * @ticket 44707
+	 *
+	 * @covers ::wp_create_user_request
 	 */
 	public function test_sanitized_action_name() {
 		$actual = wp_create_user_request( self::$non_registered_user_email, 'export[_person*al_\data' );
@@ -188,6 +202,8 @@
 	 * Test a user request is created successfully for a registered user.
 	 *
 	 * @ticket 44707
+	 *
+	 * @covers ::wp_create_user_request
 	 */
 	public function test_create_request_registered_user() {
 		wp_delete_post( self::$request_id, true );
@@ -215,6 +231,8 @@
 	 * Test a user request is created successfully for an non-registered user.
 	 *
 	 * @ticket 44707
+	 *
+	 * @covers ::wp_create_user_request
 	 */
 	public function test_create_request_unregistered_user() {
 		wp_delete_post( self::$request_id, true );
@@ -243,6 +261,8 @@
 	 * block a new request.
 	 *
 	 * @ticket 44707
+	 *
+	 * @covers ::wp_create_user_request
 	 */
 	public function test_completed_request_does_not_block_new_request() {
 		// Update first request.
@@ -270,6 +290,8 @@
 	 * block a new request.
 	 *
 	 * @ticket 44707
+	 *
+	 * @covers ::wp_create_user_request
 	 */
 	public function test_completed_request_does_not_block_new_request_for_unregistered_user() {
 		wp_update_post(
@@ -298,6 +320,8 @@
 	 * Test that an error from `wp_insert_post()` is returned.
 	 *
 	 * @ticket 44707
+	 *
+	 * @covers ::wp_create_user_request
 	 */
 	public function test_wp_error_returned_from_wp_insert_post() {
 		wp_delete_post( self::$request_id, true );
Index: tests/phpunit/tests/privacy/wpPrivacyCompletedRequest.php
===================================================================
--- tests/phpunit/tests/privacy/wpPrivacyCompletedRequest.php	(revision 49699)
+++ tests/phpunit/tests/privacy/wpPrivacyCompletedRequest.php	(working copy)
@@ -38,6 +38,8 @@
 	 * The function should return error for invalid request ID.
 	 *
 	 * @ticket 43913
+	 *
+	 * @covers ::_wp_privacy_completed_request
 	 */
 	public function test_wp_privacy_completed_request_should_return_error_for_invalid_request_id() {
 		$actual = _wp_privacy_completed_request( 0 );
@@ -53,6 +55,8 @@
 	 * The function should mark a request as completed.
 	 *
 	 * @ticket 43913
+	 *
+	 * @covers ::_wp_privacy_completed_request
 	 */
 	public function test_wp_privacy_completed_request_should_mark_request_completed() {
 		$this->assertSame( 'request-pending', get_post_status( self::$request_id ) );
@@ -64,6 +68,8 @@
 	 * The function should log the request timestamp.
 	 *
 	 * @ticket 43913
+	 *
+	 * @covers ::_wp_privacy_completed_request
 	 */
 	public function test_wp_privacy_completed_request_should_log_request_timestamp() {
 		$this->assertEmpty( get_post_meta( self::$request_id, '_wp_user_request_completed_timestamp', true ) );
Index: tests/phpunit/tests/privacy/wpPrivacyDeleteOldExportFiles.php
===================================================================
--- tests/phpunit/tests/privacy/wpPrivacyDeleteOldExportFiles.php	(revision 49699)
+++ tests/phpunit/tests/privacy/wpPrivacyDeleteOldExportFiles.php	(working copy)
@@ -83,6 +83,8 @@
 	 * The function should not throw notices when the exports directory doesn't exist.
 	 *
 	 * @since 4.9.6
+	 *
+	 * @covers ::wp_privacy_delete_old_export_files
 	 */
 	public function test_non_existent_folders_should_not_cause_errors() {
 		add_filter( 'wp_privacy_exports_dir', array( $this, 'filter_bad_exports_dir' ) );
@@ -115,6 +117,8 @@
 	 * The function should delete files that are past the expiration date.
 	 *
 	 * @since 4.9.6
+	 *
+	 * @covers ::wp_privacy_delete_old_export_files
 	 */
 	public function test_expired_files_should_be_deleted() {
 		wp_privacy_delete_old_export_files();
@@ -126,6 +130,8 @@
 	 * The function should not delete files that are not past the expiration date.
 	 *
 	 * @since 4.9.6
+	 *
+	 * @covers ::wp_privacy_delete_old_export_files
 	 */
 	public function test_unexpired_files_should_not_be_deleted() {
 		wp_privacy_delete_old_export_files();
@@ -137,6 +143,8 @@
 	 * The function should never delete the index file, even if it's past the expiration date.
 	 *
 	 * @since 4.9.6
+	 *
+	 * @covers ::wp_privacy_delete_old_export_files
 	 */
 	public function test_index_file_should_never_be_deleted() {
 		wp_privacy_delete_old_export_files();
@@ -148,6 +156,8 @@
 	 * Test the correct files are deleted when the expiration time is filtered.
 	 *
 	 * @since 4.9.9
+	 *
+	 * @covers ::wp_privacy_delete_old_export_files
 	 */
 	public function test_filtered_expiration_time() {
 		add_filter( 'wp_privacy_export_expiration', array( $this, 'filter_export_file_expiration_time' ) );
Index: tests/phpunit/tests/privacy/wpPrivacyGeneratePersonalDataExportFile.php
===================================================================
--- tests/phpunit/tests/privacy/wpPrivacyGeneratePersonalDataExportFile.php	(revision 49699)
+++ tests/phpunit/tests/privacy/wpPrivacyGeneratePersonalDataExportFile.php	(working copy)
@@ -159,6 +159,8 @@
 	 * When a remove request ID is passed to the export function an error should be displayed.
 	 *
 	 * @ticket 44233
+	 *
+	 * @covers ::wp_privacy_generate_personal_data_export_file
 	 */
 	public function test_rejects_remove_requests() {
 		$request_id = wp_create_user_request( 'removal-requester@example.com', 'remove_personal_data' );
@@ -172,6 +174,8 @@
 	 * When an invalid request ID is passed an error should be displayed.
 	 *
 	 * @ticket 44233
+	 *
+	 * @covers ::wp_privacy_generate_personal_data_export_file
 	 */
 	public function test_invalid_request_id() {
 		$this->expectException( 'WPDieException' );
@@ -183,6 +187,8 @@
 	 * When the request post title is not a valid email an error should be displayed.
 	 *
 	 * @ticket 44233
+	 *
+	 * @covers ::wp_privacy_generate_personal_data_export_file
 	 */
 	public function test_rejects_requests_with_bad_email_addresses() {
 		$request_id = wp_create_user_request( 'bad-email-requester@example.com', 'export_personal_data' );
@@ -203,6 +209,8 @@
 	 * When the export directory fails to be created an error should be displayed.
 	 *
 	 * @ticket 44233
+	 *
+	 * @covers ::wp_privacy_generate_personal_data_export_file
 	 */
 	public function test_detect_cannot_create_folder() {
 		// Create a file with the folder name to ensure the function cannot create a folder.
@@ -217,6 +225,8 @@
 	 * Test that an index.html file can be added to the export directory.
 	 *
 	 * @ticket 44233
+	 *
+	 * @covers ::wp_privacy_generate_personal_data_export_file
 	 */
 	public function test_creates_index_in_export_folder() {
 		$this->expectOutputString( '' );
@@ -229,6 +239,8 @@
 	 * Test that an export file is successfully created.
 	 *
 	 * @ticket 44233
+	 *
+	 * @covers ::wp_privacy_generate_personal_data_export_file
 	 */
 	public function test_can_succeed() {
 		wp_privacy_generate_personal_data_export_file( self::$export_request_id );
@@ -240,6 +252,8 @@
 	 * Test the export HTML file has all the expected parts.
 	 *
 	 * @ticket 44233
+	 *
+	 * @covers ::wp_privacy_generate_personal_data_export_file
 	 */
 	public function test_html_contents() {
 		$this->expectOutputString( '' );
@@ -269,6 +283,8 @@
 	 * Test the export JSON file has all the expected parts.
 	 *
 	 * @ticket 49029
+	 *
+	 * @covers ::wp_privacy_generate_personal_data_export_file
 	 */
 	public function test_json_contents() {
 		$this->expectOutputString( '' );
@@ -299,6 +315,8 @@
 	 * Test the export HTML file containing one export group has no table of contents.
 	 *
 	 * @ticket 46894
+	 *
+	 * @covers ::wp_privacy_generate_personal_data_export_file
 	 */
 	public function test_single_group_export_no_toc_or_return_to_top() {
 		$this->expectOutputString( '' );
@@ -328,6 +346,8 @@
 	 * Test the export HTML file containing ore than one export group has a table of contents.
 	 *
 	 * @ticket 46894
+	 *
+	 * @covers ::wp_privacy_generate_personal_data_export_file
 	 */
 	public function test_multiple_group_export_has_toc_and_return_to_top() {
 		$this->expectOutputString( '' );
@@ -405,6 +425,8 @@
 	 * has a table of contents with group count.
 	 *
 	 * @ticket 46894
+	 *
+	 * @covers ::wp_privacy_generate_personal_data_export_file
 	 */
 	public function test_multiple_group_export_multiple_items_group_count_in_toc() {
 		$this->expectOutputString( '' );
@@ -547,6 +569,8 @@
 	 * has a table of contents without group count.
 	 *
 	 * @ticket 46894
+	 *
+	 * @covers ::wp_privacy_generate_personal_data_export_file
 	 */
 	public function test_multiple_group_export_single_items_no_group_count_in_toc() {
 		$this->expectOutputString( '' );
Index: tests/phpunit/tests/privacy/wpPrivacyGeneratePersonalDataExportGroupHtml.php
===================================================================
--- tests/phpunit/tests/privacy/wpPrivacyGeneratePersonalDataExportGroupHtml.php	(revision 49699)
+++ tests/phpunit/tests/privacy/wpPrivacyGeneratePersonalDataExportGroupHtml.php	(working copy)
@@ -21,6 +21,8 @@
 	 * Test when a single data item is passed.
 	 *
 	 * @ticket 44044
+	 *
+	 * @covers ::wp_privacy_generate_personal_data_export_group_html
 	 */
 	public function test_group_html_generation_single_data_item() {
 		$data = array(
@@ -51,6 +53,8 @@
 	 *
 	 * @ticket 44044
 	 * @ticket 46895 Updated to remove </h2> from test to avoid Count introducing failure.
+	 *
+	 * @covers ::wp_privacy_generate_personal_data_export_group_html
 	 */
 	public function test_group_html_generation_multiple_data_items() {
 		$data = array(
@@ -95,6 +99,8 @@
 	 * Values that appear to be links should be wrapped in `<a>` tags.
 	 *
 	 * @ticket 44044
+	 *
+	 * @covers ::wp_privacy_generate_personal_data_export_group_html
 	 */
 	public function test_links_become_anchors() {
 		$data = array(
@@ -128,6 +134,8 @@
 	 * HTML in group labels should be escaped.
 	 *
 	 * @ticket 44044
+	 *
+	 * @covers ::wp_privacy_generate_personal_data_export_group_html
 	 */
 	public function test_group_labels_escaped() {
 		$data = array(
@@ -144,6 +152,8 @@
 	 * Test that the exported data should contain allowed HTML.
 	 *
 	 * @ticket 44044
+	 *
+	 * @covers ::wp_privacy_generate_personal_data_export_group_html
 	 */
 	public function test_allowed_html_not_stripped() {
 		$data = array(
@@ -171,6 +181,8 @@
 	 * Test that the exported data should not contain disallowed HTML.
 	 *
 	 * @ticket 44044
+	 *
+	 * @covers ::wp_privacy_generate_personal_data_export_group_html
 	 */
 	public function test_disallowed_html_is_stripped() {
 		$data = array(
@@ -202,6 +214,8 @@
 	 * Test group count is displayed for multiple items.
 	 *
 	 * @ticket 46895
+	 *
+	 * @covers ::wp_privacy_generate_personal_data_export_group_html
 	 */
 	public function test_group_html_generation_should_display_group_count_when_multiple_items() {
 		$data = array(
@@ -233,6 +247,8 @@
 	 * Test group count is not displayed for a single item.
 	 *
 	 * @ticket 46895
+	 *
+	 * @covers ::wp_privacy_generate_personal_data_export_group_html
 	 */
 	public function test_group_html_generation_should_not_display_group_count_when_single_item() {
 		$data = array(
Index: tests/phpunit/tests/privacy/wpPrivacyProcessPersonalDataExportPage.php
===================================================================
--- tests/phpunit/tests/privacy/wpPrivacyProcessPersonalDataExportPage.php	(revision 49699)
+++ tests/phpunit/tests/privacy/wpPrivacyProcessPersonalDataExportPage.php	(working copy)
@@ -268,6 +268,8 @@
 	 * @dataProvider data_wp_privacy_process_personal_data_export_page
 	 *
 	 * @param string|array $expected_response The response from the personal data exporter for the given test.
+	 *
+	 * @covers ::wp_privacy_process_personal_data_export_page
 	 */
 	public function test_wp_privacy_process_personal_data_export_page( $expected_response ) {
 		$actual_response = wp_privacy_process_personal_data_export_page(
@@ -358,6 +360,8 @@
 	 * @dataProvider data_send_as_email_options
 	 *
 	 * @param bool Whether the final results of the export should be emailed to the user.
+	 *
+	 * @covers ::wp_privacy_process_personal_data_export_page
 	 */
 	public function test_send_error_when_invalid_request_id( $send_as_email ) {
 		$response           = array(
@@ -388,6 +392,8 @@
 	 * @dataProvider data_send_as_email_options
 	 *
 	 * @param bool Whether the final results of the export should be emailed to the user.
+	 *
+	 * @covers ::wp_privacy_process_personal_data_export_page
 	 */
 	public function test_send_error_when_invalid_request_action_name( $send_as_email ) {
 		$response = array(
@@ -421,6 +427,8 @@
 	 *
 	 * @param bool Whether the final results of the export should be emailed to the user.
 	 *
+	 * @covers ::wp_privacy_process_personal_data_export_page
+	 *
 	 */
 	public function test_raw_data_post_meta( $send_as_email ) {
 		$this->assertEmpty( get_post_meta( self::$request_id, '_export_data_raw', true ) );
@@ -461,6 +469,8 @@
 	 * @dataProvider data_send_as_email_options
 	 *
 	 * @param bool Whether the final results of the export should be emailed to the user.
+	 *
+	 * @covers ::wp_privacy_process_personal_data_export_page
 	 */
 	public function test_add_post_meta_with_groups_data_only_available_when_export_file_generated( $send_as_email ) {
 		// Adds post meta when processing data, given the first exporter on the first page and send as email.
@@ -496,6 +506,8 @@
 	 * When mail delivery fails, the function should send a JSON error on the last page of the last exporter.
 	 *
 	 * @ticket 44233
+	 *
+	 * @covers ::wp_privacy_process_personal_data_export_page
 	 */
 	public function test_send_error_on_last_page_of_last_exporter_when_mail_delivery_fails() {
 		// Cause `wp_mail()` to return false, to simulate mail delivery failure. Filter removed in tearDown.
@@ -520,6 +532,8 @@
 	 * for the last exporter on the last page.
 	 *
 	 * @ticket 44233
+	 *
+	 * @covers ::wp_privacy_process_personal_data_export_page
 	 */
 	public function test_return_response_with_export_file_url_when_not_sent_as_email_for_last_exporter_on_last_page() {
 		update_post_meta( self::$request_id, '_export_file_name', self::$export_file_name );
@@ -546,6 +560,8 @@
 	 * for the last exporter on the last page.
 	 *
 	 * @ticket 44233
+	 *
+	 * @covers ::wp_privacy_process_personal_data_export_page
 	 */
 	public function test_return_response_without_export_file_url_when_sent_as_email_for_last_exporter_on_last_page() {
 		update_post_meta( self::$request_id, '_export_file_name', self::$export_file_name );
@@ -579,6 +595,8 @@
 	 * @param string $page_index      The page index to pass. Options are 'first' and 'last'. Default 'first'.
 	 * @param bool   $send_as_email   If the response should be sent as an email.
 	 * @param string $exporter_key    The slug (key) of the exporter to pass.
+	 *
+	 * @covers ::wp_privacy_process_personal_data_export_page
 	 */
 	public function test_request_status_transitions_correctly( $expected_status, $response_page, $exporter_index, $page_index, $send_as_email, $exporter_key ) {
 		if ( 'first' === $response_page ) {
Index: tests/phpunit/tests/privacy/wpPrivacySendErasureFulfillmentNotification.php
===================================================================
--- tests/phpunit/tests/privacy/wpPrivacySendErasureFulfillmentNotification.php	(revision 49699)
+++ tests/phpunit/tests/privacy/wpPrivacySendErasureFulfillmentNotification.php	(working copy)
@@ -108,6 +108,8 @@
 	 * The function should send an email when a valid request ID is passed.
 	 *
 	 * @ticket 44234
+	 *
+	 * @covers ::_wp_privacy_send_erasure_fulfillment_notification
 	 */
 	public function test_should_send_email_no_privacy_policy() {
 
@@ -129,6 +131,8 @@
 	 * The email should include a link to the site's privacy policy when set.
 	 *
 	 * @ticket 44234
+	 *
+	 * @covers ::_wp_privacy_send_erasure_fulfillment_notification
 	 */
 	public function test_should_send_email_with_privacy_policy() {
 		$privacy_policy = $this->factory->post->create(
@@ -154,6 +158,8 @@
 	 * The function should send a fulfillment email only once.
 	 *
 	 * @ticket 44234
+	 *
+	 * @covers ::_wp_privacy_send_erasure_fulfillment_notification
 	 */
 	public function test_should_send_email_only_once() {
 		// First function call.
@@ -182,6 +188,8 @@
 	 * The email address of the recipient of the fulfillment notification should be filterable.
 	 *
 	 * @ticket 44234
+	 *
+	 * @covers ::_wp_privacy_send_erasure_fulfillment_notification
 	 */
 	public function test_email_address_of_recipient_should_be_filterable() {
 		add_filter( 'user_erasure_fulfillment_email_to', array( $this, 'filter_email_address' ) );
@@ -208,6 +216,8 @@
 	 * The email subject of the fulfillment notification should be filterable.
 	 *
 	 * @ticket 44234
+	 *
+	 * @covers ::_wp_privacy_send_erasure_fulfillment_notification
 	 */
 	public function test_email_subject_should_be_filterable() {
 		add_filter( 'user_erasure_complete_email_subject', array( $this, 'filter_email_subject' ) );
@@ -234,6 +244,8 @@
 	 * The email body text of the fulfillment notification should be filterable.
 	 *
 	 * @ticket 44234
+	 *
+	 * @covers ::_wp_privacy_send_erasure_fulfillment_notification
 	 */
 	public function test_email_body_text_should_be_filterable() {
 		add_filter( 'user_confirmed_action_email_content', array( $this, 'filter_email_body_text' ) );
@@ -262,6 +274,8 @@
 	 * @since 5.4.0
 	 *
 	 * @ticket 44501
+	 *
+	 * @covers ::_wp_privacy_send_erasure_fulfillment_notification
 	 */
 	public function test_email_headers_should_be_filterable() {
 		add_filter( 'user_erasure_complete_email_headers', array( $this, 'modify_email_headers' ) );
@@ -292,6 +306,8 @@
 	 * The function should not send an email when the request ID does not exist.
 	 *
 	 * @ticket 44234
+	 *
+	 * @covers ::_wp_privacy_send_erasure_fulfillment_notification
 	 */
 	public function test_should_not_send_email_when_passed_invalid_request_id() {
 		_wp_privacy_send_erasure_fulfillment_notification( 1234567890 );
@@ -305,6 +321,8 @@
 	 * The function should not send an email when the ID passed does not correspond to a user request.
 	 *
 	 * @ticket 44234
+	 *
+	 * @covers ::_wp_privacy_send_erasure_fulfillment_notification
 	 */
 	public function test_should_not_send_email_when_not_user_request() {
 		$post_id = $this->factory->post->create(
@@ -323,6 +341,8 @@
 	 * The function should not send an email when the request is not completed.
 	 *
 	 * @ticket 44234
+	 *
+	 * @covers ::_wp_privacy_send_erasure_fulfillment_notification
 	 */
 	public function test_should_not_send_email_when_request_not_completed() {
 		wp_update_post(
@@ -346,6 +366,8 @@
 	 * @since 5.2.0
 	 * @ticket 44721
 	 * @group l10n
+	 *
+	 * @covers ::_wp_privacy_send_erasure_fulfillment_notification
 	 */
 	public function test_should_send_fulfillment_email_in_user_locale() {
 		update_user_meta( self::$request_user->ID, 'locale', 'es_ES' );
@@ -363,6 +385,8 @@
 	 * @since 5.2.0
 	 * @ticket 44721
 	 * @group l10n
+	 *
+	 * @covers ::_wp_privacy_send_erasure_fulfillment_notification
 	 */
 	public function test_should_send_fulfillment_email_in_user_locale_when_site_is_not_en_us() {
 		update_option( 'WPLANG', 'es_ES' );
@@ -384,6 +408,8 @@
 	 * @since 5.2.0
 	 * @ticket 44721
 	 * @group l10n
+	 *
+	 * @covers ::_wp_privacy_send_erasure_fulfillment_notification
 	 */
 	public function test_should_send_fulfillment_email_in_user_locale_when_admin_and_site_have_different_locales() {
 		update_option( 'WPLANG', 'es_ES' );
@@ -405,6 +431,8 @@
 	 * @since 5.2.0
 	 * @ticket 44721
 	 * @group l10n
+	 *
+	 * @covers ::_wp_privacy_send_erasure_fulfillment_notification
 	 */
 	public function test_should_send_fulfillment_email_in_user_locale_when_both_have_different_locales_than_site() {
 		update_option( 'WPLANG', 'es_ES' );
@@ -428,6 +456,8 @@
 	 * @since 5.2.0
 	 * @ticket 44721
 	 * @group l10n
+	 *
+	 * @covers ::_wp_privacy_send_erasure_fulfillment_notification
 	 */
 	public function test_should_send_fulfillment_email_in_site_locale() {
 		update_user_meta( self::$admin_user->ID, 'locale', 'es_ES' );
@@ -454,6 +484,8 @@
 	 * @since 5.2.0
 	 * @ticket 44721
 	 * @group l10n
+	 *
+	 * @covers ::_wp_privacy_send_erasure_fulfillment_notification
 	 */
 	public function test_should_send_fulfillment_email_in_site_locale_when_not_en_us_and_admin_has_different_locale() {
 		update_option( 'WPLANG', 'es_ES' );
Index: tests/phpunit/tests/privacy/wpPrivacySendPersonalDataExportEmail.php
===================================================================
--- tests/phpunit/tests/privacy/wpPrivacySendPersonalDataExportEmail.php	(revision 49699)
+++ tests/phpunit/tests/privacy/wpPrivacySendPersonalDataExportEmail.php	(working copy)
@@ -102,6 +102,8 @@
 
 	/**
 	 * The function should send an export link to the requester when the user request is confirmed.
+	 *
+	 * @covers ::wp_privacy_send_personal_data_export_email
 	 */
 	public function test_function_should_send_export_link_to_requester() {
 		$exports_url      = wp_privacy_exports_url();
@@ -124,6 +126,8 @@
 	 * The function should error when the request ID is invalid.
 	 *
 	 * @since 4.9.6
+	 *
+	 * @covers ::wp_privacy_send_personal_data_export_email
 	 */
 	public function test_function_should_error_when_request_id_invalid() {
 		$request_id = 0;
@@ -141,6 +145,8 @@
 	 * The function should error when the email was not sent.
 	 *
 	 * @since 4.9.6
+	 *
+	 * @covers ::wp_privacy_send_personal_data_export_email
 	 */
 	public function test_return_wp_error_when_send_fails() {
 		add_filter( 'wp_mail_from', '__return_empty_string' ); // Cause `wp_mail()` to return false.
@@ -154,6 +160,8 @@
 	 * The export expiration should be filterable.
 	 *
 	 * @since 4.9.6
+	 *
+	 * @covers ::wp_privacy_send_personal_data_export_email
 	 */
 	public function test_export_expiration_should_be_filterable() {
 		add_filter( 'wp_privacy_export_expiration', array( $this, 'modify_export_expiration' ) );
@@ -180,6 +188,8 @@
 	 * The email address of the recipient of the personal data export notification should be filterable.
 	 *
 	 * @ticket 46303
+	 *
+	 * @covers ::wp_privacy_send_personal_data_export_email
 	 */
 	public function test_email_address_of_recipient_should_be_filterable() {
 		add_filter( 'wp_privacy_personal_data_email_to', array( $this, 'filter_email_address' ) );
@@ -206,6 +216,8 @@
 	 * The email subject of the personal data export notification should be filterable.
 	 *
 	 * @ticket 46303
+	 *
+	 * @covers ::wp_privacy_send_personal_data_export_email
 	 */
 	public function test_email_subject_should_be_filterable() {
 		add_filter( 'wp_privacy_personal_data_email_subject', array( $this, 'filter_email_subject' ) );
@@ -232,6 +244,8 @@
 	 * The email content should be filterable.
 	 *
 	 * @since 4.9.6
+	 *
+	 * @covers ::wp_privacy_send_personal_data_export_email
 	 */
 	public function test_email_content_should_be_filterable() {
 		add_filter( 'wp_privacy_personal_data_email_content', array( $this, 'modify_email_content' ), 10, 2 );
@@ -260,6 +274,8 @@
 	 * @since 5.4.0
 	 *
 	 * @ticket 44501
+	 *
+	 * @covers ::wp_privacy_send_personal_data_export_email
 	 */
 	public function test_email_headers_should_be_filterable() {
 		add_filter( 'wp_privacy_personal_data_email_headers', array( $this, 'modify_email_headers' ) );
@@ -290,6 +306,8 @@
 	 * The email content should be filterable using the $email_data
 	 *
 	 * @ticket 46303
+	 *
+	 * @covers ::wp_privacy_send_personal_data_export_email
 	 */
 	public function test_email_content_should_be_filterable_using_email_data() {
 		add_filter( 'wp_privacy_personal_data_email_content', array( $this, 'modify_email_content_with_email_data' ), 10, 3 );
@@ -333,6 +351,8 @@
 	 * @since 5.2.0
 	 * @ticket 46056
 	 * @group l10n
+	 *
+	 * @covers ::wp_privacy_send_personal_data_export_email
 	 */
 	public function test_should_send_personal_data_export_email_in_user_locale() {
 		update_user_meta( self::$request_user->ID, 'locale', 'es_ES' );
@@ -351,6 +371,8 @@
 	 * @since 5.2.0
 	 * @ticket 46056
 	 * @group l10n
+	 *
+	 * @covers ::wp_privacy_send_personal_data_export_email
 	 */
 	public function test_should_send_personal_data_export_email_in_user_locale_when_site_is_not_en_us() {
 		update_option( 'WPLANG', 'es_ES' );
@@ -373,6 +395,8 @@
 	 * @since 5.2.0
 	 * @ticket 46056
 	 * @group l10n
+	 *
+	 * @covers ::wp_privacy_send_personal_data_export_email
 	 */
 	public function test_should_send_personal_data_export_email_in_user_locale_when_admin_and_site_have_different_locales() {
 		update_option( 'WPLANG', 'es_ES' );
@@ -395,6 +419,8 @@
 	 * @since 5.2.0
 	 * @ticket 46056
 	 * @group l10n
+	 *
+	 * @covers ::wp_privacy_send_personal_data_export_email
 	 */
 	public function test_should_send_personal_data_export_email_in_user_locale_when_both_have_different_locales_than_site() {
 		update_option( 'WPLANG', 'es_ES' );
@@ -419,6 +445,8 @@
 	 * @since 5.2.0
 	 * @ticket 46056
 	 * @group l10n
+	 *
+	 * @covers ::wp_privacy_send_personal_data_export_email
 	 */
 	public function test_should_send_personal_data_export_email_in_site_locale() {
 		update_user_meta( self::$admin_user->ID, 'locale', 'es_ES' );
@@ -441,6 +469,8 @@
 	 * @since 5.2.0
 	 * @ticket 46056
 	 * @group l10n
+	 *
+	 * @covers ::wp_privacy_send_personal_data_export_email
 	 */
 	public function test_should_send_personal_data_export_email_in_site_locale_when_not_en_us_and_admin_has_different_locale() {
 		update_option( 'WPLANG', 'es_ES' );
Index: tests/phpunit/tests/privacy/wpPrivacySendRequestConfirmationNotification.php
===================================================================
--- tests/phpunit/tests/privacy/wpPrivacySendRequestConfirmationNotification.php	(revision 49699)
+++ tests/phpunit/tests/privacy/wpPrivacySendRequestConfirmationNotification.php	(working copy)
@@ -39,6 +39,8 @@
 	 * The function should not send emails when the request ID does not exist.
 	 *
 	 * @ticket 43967
+	 *
+	 * @covers ::_wp_privacy_send_request_confirmation_notification
 	 */
 	public function test_function_should_not_send_email_when_not_a_valid_request_id() {
 		_wp_privacy_send_request_confirmation_notification( 1234567890 );
@@ -51,6 +53,8 @@
 	 * The function should not send emails when the ID passed is not a WP_User_Request.
 	 *
 	 * @ticket 43967
+	 *
+	 * @covers ::_wp_privacy_send_request_confirmation_notification
 	 */
 	public function test_function_should_not_send_email_when_not_a_wp_user_request() {
 		$post_id = $this->factory->post->create(
@@ -69,6 +73,8 @@
 	 * The function should send an email to the site admin when a user request is confirmed.
 	 *
 	 * @ticket 43967
+	 *
+	 * @covers ::_wp_privacy_send_request_confirmation_notification
 	 */
 	public function test_function_should_send_email_to_site_admin_when_user_request_confirmed() {
 		$email      = 'export.request.from.unregistered.user@example.com';
@@ -92,6 +98,8 @@
 	 * The function should only send an email to the site admin when a user request is confirmed.
 	 *
 	 * @ticket 43967
+	 *
+	 * @covers ::_wp_privacy_send_request_confirmation_notification
 	 */
 	public function test_function_should_only_send_email_to_site_admin_when_user_request_is_confirmed() {
 		$email      = 'export.request.from.unregistered.user@example.com';
@@ -112,6 +120,8 @@
 	 * The function should only send an email once to the site admin when a user request is confirmed.
 	 *
 	 * @ticket 43967
+	 *
+	 * @covers ::_wp_privacy_send_request_confirmation_notification
 	 */
 	public function test_function_should_only_send_email_once_to_admin_when_user_request_is_confirmed() {
 		$email      = 'export.request.from.unregistered.user@example.com';
@@ -136,6 +146,8 @@
 	 * The email address should be filterable.
 	 *
 	 * @ticket 43967
+	 *
+	 * @covers ::_wp_privacy_send_request_confirmation_notification
 	 */
 	public function test_email_address_should_be_filterable() {
 		$email      = 'export.request.from.unregistered.user@example.com';
@@ -169,6 +181,8 @@
 	 * The email content should be filterable.
 	 *
 	 * @ticket 43967
+	 *
+	 * @covers ::_wp_privacy_send_request_confirmation_notification
 	 */
 	public function test_email_content_should_be_filterable() {
 		$email      = 'export.request.from.unregistered.user@example.com';
@@ -213,6 +227,8 @@
 	 * @since 5.4.0
 	 *
 	 * @ticket 44501
+	 *
+	 * @covers ::_wp_privacy_send_request_confirmation_notification
 	 */
 	public function test_email_headers_should_be_filterable() {
 		$email      = 'export.request.from.unregistered.user@example.com';
