Index: src/wp-admin/admin.php
===================================================================
--- src/wp-admin/admin.php	(revision 31369)
+++ src/wp-admin/admin.php	(working copy)
@@ -84,7 +84,7 @@
 auth_redirect();
 
 // Schedule trash collection
-if ( !wp_next_scheduled('wp_scheduled_delete') && !defined('WP_INSTALLING') )
+if ( ! wp_next_scheduled( 'wp_scheduled_delete' ) && ! wp_defined( 'WP_INSTALLING' ) )
 	wp_schedule_event(time(), 'daily', 'wp_scheduled_delete');
 
 set_screen_options();
Index: src/wp-admin/includes/class-wp-upgrader.php
===================================================================
--- src/wp-admin/includes/class-wp-upgrader.php	(revision 31369)
+++ src/wp-admin/includes/class-wp-upgrader.php	(working copy)
@@ -2375,7 +2375,7 @@
 		if ( defined( 'DISALLOW_FILE_MODS' ) && DISALLOW_FILE_MODS )
 			return true;
 
-		if ( defined( 'WP_INSTALLING' ) )
+		if ( wp_defined( 'WP_INSTALLING' ) )
 			return true;
 
 		// More fine grained control can be done through the WP_AUTO_UPDATE_CORE constant and filters.
Index: src/wp-admin/includes/file.php
===================================================================
--- src/wp-admin/includes/file.php	(revision 31369)
+++ src/wp-admin/includes/file.php	(working copy)
@@ -1056,7 +1056,7 @@
 			$stored_credentials['hostname'] .= ':' . $stored_credentials['port'];
 
 		unset($stored_credentials['password'], $stored_credentials['port'], $stored_credentials['private_key'], $stored_credentials['public_key']);
-		if ( ! defined( 'WP_INSTALLING' ) ) {
+		if ( ! wp_defined( 'WP_INSTALLING' ) ) {
 			update_option( 'ftp_credentials', $stored_credentials );
 		}
 		return $credentials;
Index: src/wp-admin/includes/misc.php
===================================================================
--- src/wp-admin/includes/misc.php	(revision 31369)
+++ src/wp-admin/includes/misc.php	(working copy)
@@ -237,7 +237,7 @@
  * @param string $value
  */
 function update_home_siteurl( $old_value, $value ) {
-	if ( defined( "WP_INSTALLING" ) )
+	if ( wp_defined( 'WP_INSTALLING' ) )
 		return;
 
 	// If home changed, write rewrite rules to new location.
Index: src/wp-admin/includes/translation-install.php
===================================================================
--- src/wp-admin/includes/translation-install.php	(revision 31369)
+++ src/wp-admin/includes/translation-install.php	(working copy)
@@ -94,7 +94,7 @@
  *               in an error, an empty array will be returned.
  */
 function wp_get_available_translations() {
-	if ( ! defined( 'WP_INSTALLING' ) && false !== ( $translations = get_site_transient( 'available_translations' ) ) ) {
+	if ( ! wp_defined( 'WP_INSTALLING' ) && false !== ( $translations = get_site_transient( 'available_translations' ) ) ) {
 		return $translations;
 	}
 
@@ -112,7 +112,7 @@
 		$translations[ $translation['language'] ] = $translation;
 	}
 
-	if ( ! defined( 'WP_INSTALLING' ) ) {
+	if ( ! wp_defined( 'WP_INSTALLING' ) ) {
 		set_site_transient( 'available_translations', $translations, 3 * HOUR_IN_SECONDS );
 	}
 
Index: src/wp-includes/default-constants.php
===================================================================
--- src/wp-includes/default-constants.php	(revision 31369)
+++ src/wp-includes/default-constants.php	(working copy)
@@ -6,6 +6,73 @@
  */
 
 /**
+ * Check if a constant is defined. If running unit tests, check the `$wp_config`
+ * object for the constant's corresponding property.
+ *
+ * @since 4.2.0
+ * @param string $constant Constant name to check.
+ *
+ * @return bool True if the constant is defined. False if not.
+ */
+function wp_defined( $constant ) {
+	global $wp_config;
+
+	// If unit tests are running, use the global `$wp_config` object instead of constants.
+	if ( defined( 'WP_RUN_CORE_TESTS' ) ) {
+		if ( isset( $wp_config->$constant ) ) {
+			return true;
+		}
+
+		return false;
+	}
+
+	if ( defined( $constant ) ) {
+		return true;
+	}
+
+	return false;
+}
+
+/**
+ * Define a constant. If running unit tests, set the corresponding property in
+ * the `$wp_config` object.
+ *
+ * @since 4.2.0
+ * @param string $constant Constant name to define.
+ * @param mixed  $value    Value to assign to the constant.
+ *
+ * @return bool True if constant was set.
+ */
+function wp_define( $constant, $value ) {
+	global $wp_config;
+
+	// If unit tests are running, use the global `$wp_config` object instead of constants.
+	if ( defined( 'WP_RUN_CORE_TESTS' ) ) {
+		if ( isset( $wp_config->$constant ) && $value !== $wp_config->$constant ) {
+			// temp
+			wp_die( 'unit test constant already defined with a different value' );
+		} elseif( isset( $wp_config->$constant ) && $value === $wp_config->$constant ) {
+			return true;
+		}
+
+		$wp_config->$constant = $value;
+
+		return true;
+	}
+
+	if ( defined( $constant ) && $value !== constant( $constant ) ) {
+		// temp
+		wp_die( 'constant already defined with a different value' );
+	} elseif ( defined( $constant ) && $value === constant( $constant ) ) {
+		return true;
+	}
+
+	define( $constant, $value );
+
+	return true;
+}
+
+/**
  * Defines initial WordPress constants
  *
  * @see wp_debug_mode()
Index: src/wp-includes/functions.php
===================================================================
--- src/wp-includes/functions.php	(revision 31369)
+++ src/wp-includes/functions.php	(working copy)
@@ -1271,7 +1271,7 @@
 		return true;
 
 	$suppress = $wpdb->suppress_errors();
-	if ( ! defined( 'WP_INSTALLING' ) ) {
+	if ( ! wp_defined( 'WP_INSTALLING' ) ) {
 		$alloptions = wp_load_alloptions();
 	}
 	// If siteurl is not set to autoload, check it specifically
@@ -3302,7 +3302,7 @@
 	}
 
 	// If installing or in the admin, provide the verbose message.
-	if ( defined('WP_INSTALLING') || defined('WP_ADMIN') )
+	if ( wp_defined('WP_INSTALLING') || defined('WP_ADMIN') )
 		wp_die($wpdb->error);
 
 	// Otherwise, be terse.
Index: src/wp-includes/general-template.php
===================================================================
--- src/wp-includes/general-template.php	(revision 31369)
+++ src/wp-includes/general-template.php	(working copy)
@@ -2819,7 +2819,7 @@
  * @param string $file file relative to wp-admin/ without its ".css" extension.
  */
 function wp_admin_css_uri( $file = 'wp-admin' ) {
-	if ( defined('WP_INSTALLING') ) {
+	if ( wp_defined( 'WP_INSTALLING' ) ) {
 		$_file = "./$file.css";
 	} else {
 		$_file = admin_url("$file.css");
Index: src/wp-includes/l10n.php
===================================================================
--- src/wp-includes/l10n.php	(revision 31369)
+++ src/wp-includes/l10n.php	(working copy)
@@ -49,7 +49,7 @@
 	// If multisite, check options.
 	if ( is_multisite() ) {
 		// Don't check blog option when installing.
-		if ( defined( 'WP_INSTALLING' ) || ( false === $ms_locale = get_option( 'WPLANG' ) ) ) {
+		if ( wp_defined( 'WP_INSTALLING' ) || ( false === $ms_locale = get_option( 'WPLANG' ) ) ) {
 			$ms_locale = get_site_option( 'WPLANG' );
 		}
 
@@ -555,7 +555,7 @@
 		return $return;
 	}
 
-	if ( is_admin() || defined( 'WP_INSTALLING' ) || ( defined( 'WP_REPAIRING' ) && WP_REPAIRING ) ) {
+	if ( is_admin() || wp_defined( 'WP_INSTALLING' ) || ( defined( 'WP_REPAIRING' ) && WP_REPAIRING ) ) {
 		load_textdomain( 'default', WP_LANG_DIR . "/admin-$locale.mo" );
 	}
 
Index: src/wp-includes/load.php
===================================================================
--- src/wp-includes/load.php	(revision 31369)
+++ src/wp-includes/load.php	(working copy)
@@ -156,7 +156,7 @@
  * @global int $upgrading the unix timestamp marking when upgrading WordPress began.
  */
 function wp_maintenance() {
-	if ( !file_exists( ABSPATH . '.maintenance' ) || defined( 'WP_INSTALLING' ) )
+	if ( !file_exists( ABSPATH . '.maintenance' ) || wp_defined( 'WP_INSTALLING' ) )
 		return;
 
 	global $upgrading;
@@ -466,12 +466,12 @@
  */
 function wp_not_installed() {
 	if ( is_multisite() ) {
-		if ( ! is_blog_installed() && ! defined( 'WP_INSTALLING' ) ) {
+		if ( ! is_blog_installed() && ! wp_defined( 'WP_INSTALLING' ) ) {
 			nocache_headers();
 
 			wp_die( __( 'The site you have requested is not installed properly. Please contact the system administrator.' ) );
 		}
-	} elseif ( ! is_blog_installed() && ! defined( 'WP_INSTALLING' ) ) {
+	} elseif ( ! is_blog_installed() && ! wp_defined( 'WP_INSTALLING' ) ) {
 		nocache_headers();
 
 		require( ABSPATH . WPINC . '/kses.php' );
@@ -537,7 +537,7 @@
 		array_unshift( $plugins, ABSPATH . 'my-hacks.php' );
 	}
 
-	if ( empty( $active_plugins ) || defined( 'WP_INSTALLING' ) )
+	if ( empty( $active_plugins ) || wp_defined( 'WP_INSTALLING' ) )
 		return $plugins;
 
 	$network_plugins = is_multisite() ? wp_get_active_network_plugins() : false;
Index: src/wp-includes/ms-blogs.php
===================================================================
--- src/wp-includes/ms-blogs.php	(revision 31369)
+++ src/wp-includes/ms-blogs.php	(working copy)
@@ -635,6 +635,7 @@
 	}
 
 	if ( did_action( 'init' ) ) {
+		/* @var WP_ROLES $wp_roles */
 		$wp_roles->reinit();
 		$current_user = wp_get_current_user();
 		$current_user->for_blog( $new_blog );
Index: src/wp-includes/ms-functions.php
===================================================================
--- src/wp-includes/ms-functions.php	(revision 31369)
+++ src/wp-includes/ms-functions.php	(working copy)
@@ -1126,8 +1126,8 @@
 	if ( domain_exists($domain, $path, $site_id) )
 		return new WP_Error( 'blog_taken', __( 'Sorry, that site already exists!' ) );
 
-	if ( !defined('WP_INSTALLING') )
-		define( 'WP_INSTALLING', true );
+	if ( ! wp_defined( 'WP_INSTALLING' ) )
+		wp_define( 'WP_INSTALLING', true );
 
 	if ( ! $blog_id = insert_blog($domain, $path, $site_id) )
 		return new WP_Error('insert_blog', __('Could not create site.'));
@@ -2146,7 +2146,7 @@
 	if ( !is_main_site() )
 		return;
 
-	if ( !wp_next_scheduled('update_network_counts') && !defined('WP_INSTALLING') )
+	if ( ! wp_next_scheduled( 'update_network_counts' ) && ! wp_defined( 'WP_INSTALLING' ) )
 		wp_schedule_event(time(), 'twicedaily', 'update_network_counts');
 }
 
Index: src/wp-includes/ms-settings.php
===================================================================
--- src/wp-includes/ms-settings.php	(revision 31369)
+++ src/wp-includes/ms-settings.php	(working copy)
@@ -115,7 +115,7 @@
 	}
 
 	// @todo Investigate when exactly this can occur.
-	if ( empty( $current_blog ) && defined( 'WP_INSTALLING' ) ) {
+	if ( empty( $current_blog ) && wp_defined( 'WP_INSTALLING' ) ) {
 		$current_blog = new stdClass;
 		$current_blog->blog_id = $blog_id = 1;
 	}
Index: src/wp-includes/option.php
===================================================================
--- src/wp-includes/option.php	(revision 31369)
+++ src/wp-includes/option.php	(working copy)
@@ -49,7 +49,7 @@
 	if ( defined( 'WP_SETUP_CONFIG' ) )
 		return false;
 
-	if ( ! defined( 'WP_INSTALLING' ) ) {
+	if ( ! wp_defined( 'WP_INSTALLING' ) ) {
 		// prevent non-existent options from triggering multiple queries
 		$notoptions = wp_cache_get( 'notoptions', 'options' );
 		if ( isset( $notoptions[ $option ] ) ) {
@@ -158,7 +158,7 @@
 function wp_load_alloptions() {
 	global $wpdb;
 
-	if ( !defined( 'WP_INSTALLING' ) || !is_multisite() )
+	if ( ! wp_defined( 'WP_INSTALLING' ) || ! is_multisite() )
 		$alloptions = wp_cache_get( 'alloptions', 'options' );
 	else
 		$alloptions = false;
@@ -172,7 +172,7 @@
 		foreach ( (array) $alloptions_db as $o ) {
 			$alloptions[$o->option_name] = $o->option_value;
 		}
-		if ( !defined( 'WP_INSTALLING' ) || !is_multisite() )
+		if ( ! wp_defined( 'WP_INSTALLING' ) || !is_multisite() )
 			wp_cache_add( 'alloptions', $alloptions, 'options' );
 	}
 
@@ -189,7 +189,7 @@
 function wp_load_core_site_options( $site_id = null ) {
 	global $wpdb;
 
-	if ( !is_multisite() || wp_using_ext_object_cache() || defined( 'WP_INSTALLING' ) )
+	if ( ! is_multisite() || wp_using_ext_object_cache() || wp_defined( 'WP_INSTALLING' ) )
 		return;
 
 	if ( empty($site_id) )
@@ -294,7 +294,7 @@
 		wp_cache_set( 'notoptions', $notoptions, 'options' );
 	}
 
-	if ( ! defined( 'WP_INSTALLING' ) ) {
+	if ( ! wp_defined( 'WP_INSTALLING' ) ) {
 		$alloptions = wp_load_alloptions();
 		if ( isset( $alloptions[$option] ) ) {
 			$alloptions[ $option ] = $serialized_value;
@@ -390,7 +390,7 @@
 	if ( ! $result )
 		return false;
 
-	if ( ! defined( 'WP_INSTALLING' ) ) {
+	if ( ! wp_defined( 'WP_INSTALLING' ) ) {
 		if ( 'yes' == $autoload ) {
 			$alloptions = wp_load_alloptions();
 			$alloptions[ $option ] = $serialized_value;
@@ -464,7 +464,7 @@
 	do_action( 'delete_option', $option );
 
 	$result = $wpdb->delete( $wpdb->options, array( 'option_name' => $option ) );
-	if ( ! defined( 'WP_INSTALLING' ) ) {
+	if ( ! wp_defined( 'WP_INSTALLING' ) ) {
 		if ( 'yes' == $row->autoload ) {
 			$alloptions = wp_load_alloptions();
 			if ( is_array( $alloptions ) && isset( $alloptions[$option] ) ) {
@@ -582,7 +582,7 @@
 		$value = wp_cache_get( $transient, 'transient' );
 	} else {
 		$transient_option = '_transient_' . $transient;
-		if ( ! defined( 'WP_INSTALLING' ) ) {
+		if ( ! wp_defined( 'WP_INSTALLING' ) ) {
 			// If option is not in alloptions, it is not autoloaded and thus has a timeout
 			$alloptions = wp_load_alloptions();
 			if ( !isset( $alloptions[$transient_option] ) ) {
Index: src/wp-includes/script-loader.php
===================================================================
--- src/wp-includes/script-loader.php	(revision 31369)
+++ src/wp-includes/script-loader.php	(working copy)
@@ -744,7 +744,7 @@
 function wp_style_loader_src( $src, $handle ) {
 	global $_wp_admin_css_colors;
 
-	if ( defined('WP_INSTALLING') )
+	if ( wp_defined('WP_INSTALLING') )
 		return preg_replace( '#^wp-admin/#', './', $src );
 
 	if ( 'colors' == $handle ) {
Index: src/wp-includes/theme.php
===================================================================
--- src/wp-includes/theme.php	(revision 31369)
+++ src/wp-includes/theme.php	(working copy)
@@ -845,7 +845,7 @@
 	 *
 	 * @param bool true Validation flag to check the current theme.
 	 */
-	if ( defined('WP_INSTALLING') || ! apply_filters( 'validate_current_theme', true ) )
+	if ( wp_defined('WP_INSTALLING') || ! apply_filters( 'validate_current_theme', true ) )
 		return true;
 
 	if ( get_template() != WP_DEFAULT_THEME && !file_exists(get_template_directory() . '/index.php') ) {
Index: src/wp-includes/update.php
===================================================================
--- src/wp-includes/update.php	(revision 31369)
+++ src/wp-includes/update.php	(working copy)
@@ -21,7 +21,7 @@
  * @return null|false Returns null if update is unsupported. Returns false if check is too soon.
  */
 function wp_version_check( $extra_stats = array(), $force_check = false ) {
-	if ( defined('WP_INSTALLING') )
+	if ( wp_defined( 'WP_INSTALLING' ) )
 		return;
 
 	global $wpdb, $wp_local_package;
@@ -185,7 +185,7 @@
 function wp_update_plugins( $extra_stats = array() ) {
 	include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version
 
-	if ( defined('WP_INSTALLING') )
+	if ( wp_defined( 'WP_INSTALLING' ) )
 		return false;
 
 	// If running blog-side, bail unless we've not checked in the last 12 hours
@@ -339,7 +339,7 @@
 function wp_update_themes( $extra_stats = array() ) {
 	include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version
 
-	if ( defined( 'WP_INSTALLING' ) )
+	if ( wp_defined( 'WP_INSTALLING' ) )
 		return false;
 
 	$installed_themes = wp_get_themes();
@@ -626,16 +626,16 @@
  * @since 3.1.0
  */
 function wp_schedule_update_checks() {
-	if ( !wp_next_scheduled('wp_version_check') && !defined('WP_INSTALLING') )
+	if ( ! wp_next_scheduled( 'wp_version_check' ) && ! wp_defined( 'WP_INSTALLING' ) )
 		wp_schedule_event(time(), 'twicedaily', 'wp_version_check');
 
-	if ( !wp_next_scheduled('wp_update_plugins') && !defined('WP_INSTALLING') )
+	if ( ! wp_next_scheduled( 'wp_update_plugins' ) && ! wp_defined( 'WP_INSTALLING' ) )
 		wp_schedule_event(time(), 'twicedaily', 'wp_update_plugins');
 
-	if ( !wp_next_scheduled('wp_update_themes') && !defined('WP_INSTALLING') )
+	if ( ! wp_next_scheduled( 'wp_update_themes' ) && ! wp_defined( 'WP_INSTALLING' ) )
 		wp_schedule_event(time(), 'twicedaily', 'wp_update_themes');
 
-	if ( ! wp_next_scheduled( 'wp_maybe_auto_update' ) && ! defined( 'WP_INSTALLING' ) ) {
+	if ( ! wp_next_scheduled( 'wp_maybe_auto_update' ) && ! wp_defined( 'WP_INSTALLING' ) ) {
 		// Schedule auto updates for 7 a.m. and 7 p.m. in the timezone of the site.
 		$next = strtotime( 'today 7am' );
 		$now = time();
Index: src/wp-settings.php
===================================================================
--- src/wp-settings.php	(revision 31369)
+++ src/wp-settings.php	(working copy)
@@ -17,6 +17,8 @@
  */
 define( 'WPINC', 'wp-includes' );
 
+$wp_config = new stdClass();
+
 // Include files required for initialization.
 require( ABSPATH . WPINC . '/load.php' );
 require( ABSPATH . WPINC . '/default-constants.php' );
@@ -322,7 +324,7 @@
 $GLOBALS['wp_locale'] = new WP_Locale();
 
 // Load the functions for the active theme, for both parent and child theme if applicable.
-if ( ! defined( 'WP_INSTALLING' ) || 'wp-activate.php' === $pagenow ) {
+if ( ! wp_defined( 'WP_INSTALLING' ) || 'wp-activate.php' === $pagenow ) {
 	if ( TEMPLATEPATH !== STYLESHEETPATH && file_exists( STYLESHEETPATH . '/functions.php' ) )
 		include( STYLESHEETPATH . '/functions.php' );
 	if ( file_exists( TEMPLATEPATH . '/functions.php' ) )
Index: tests/phpunit/includes/testcase.php
===================================================================
--- tests/phpunit/includes/testcase.php	(revision 31369)
+++ tests/phpunit/includes/testcase.php	(working copy)
@@ -56,7 +56,7 @@
 	}
 
 	function tearDown() {
-		global $wpdb, $wp_query, $post;
+		global $wpdb, $wp_query, $post, $wp_config;
 		$this->expectedDeprecated();
 		$wpdb->query( 'ROLLBACK' );
 		if ( is_multisite() ) {
@@ -66,6 +66,7 @@
 		}
 		$wp_query = new WP_Query();
 		$post = null;
+		$wp_config = new stdClass();
 		remove_theme_support( 'html5' );
 		remove_filter( 'query', array( $this, '_create_temporary_tables' ) );
 		remove_filter( 'query', array( $this, '_drop_temporary_tables' ) );
Index: tests/phpunit/tests/multisite/network.php
===================================================================
--- tests/phpunit/tests/multisite/network.php	(revision 31369)
+++ tests/phpunit/tests/multisite/network.php	(working copy)
@@ -170,7 +170,7 @@
 		$this->assertFalse(wp_next_scheduled('update_network_counts'));
 
 		// We can't use wp_schedule_update_network_counts() because WP_INSTALLING is set
-		wp_schedule_event(time(), 'twicedaily', 'update_network_counts');
+		wp_schedule_update_network_counts();
 
 		$this->assertInternalType('int', wp_next_scheduled('update_network_counts'));
 	}
Index: tests/phpunit/tests/option/transient.php
===================================================================
--- tests/phpunit/tests/option/transient.php	(revision 31369)
+++ tests/phpunit/tests/option/transient.php	(working copy)
@@ -38,10 +38,6 @@
 	 * @ticket 22807
 	 */
 	function test_transient_data_with_timeout() {
-		if ( is_multisite() ) {
-			$this->markTestSkipped( 'Not testable in MS: wpmu_create_blog() defines WP_INSTALLING.' );
-		}
-
 		$key = rand_str();
 		$value = rand_str();
 
@@ -63,10 +59,6 @@
 	 * @ticket 22807
 	 */
 	function test_transient_add_timeout() {
-		if ( is_multisite() ) {
-			$this->markTestSkipped( 'Not testable in MS: wpmu_create_blog() defines WP_INSTALLING.' );
-		}
-
 		$key = rand_str();
 		$value = rand_str();
 		$value2 = rand_str();
Index: tests/phpunit/tests/post/getPostClass.php
===================================================================
--- tests/phpunit/tests/post/getPostClass.php	(revision 31369)
+++ tests/phpunit/tests/post/getPostClass.php	(working copy)
@@ -50,10 +50,6 @@
 	public function test_taxonomy_classes_hit_cache() {
 		global $wpdb;
 
-		if ( is_multisite() ) {
-			$this->markTestSkipped( 'Not testable in MS: wpmu_create_blog() defines WP_INSTALLING, which causes cache misses.' );
-		}
-
 		register_taxonomy( 'wptests_tax', 'post' );
 		wp_set_post_terms( $this->post_id, array( 'foo', 'bar' ), 'wptests_tax' );
 		wp_set_post_terms( $this->post_id, array( 'footag', 'bartag' ), 'post_tag' );
Index: tests/phpunit/tests/term/getTerms.php
===================================================================
--- tests/phpunit/tests/term/getTerms.php	(revision 31369)
+++ tests/phpunit/tests/term/getTerms.php	(working copy)
@@ -382,10 +382,6 @@
 	public function test_child_of_should_skip_query_when_specified_parent_is_not_found_in_hierarchy_cache() {
 		global $wpdb;
 
-		if ( is_multisite() ) {
-			$this->markTestSkipped( 'Not testable in MS: wpmu_create_blog() defines WP_INSTALLING, which causes cache misses.' );
-		}
-
 		register_taxonomy( 'wptests_tax', 'post', array( 'hierarchical' => true, ) );
 
 		$terms = $this->factory->term->create_many( 3, array( 'taxonomy' => 'wptests_tax' ) );
@@ -1249,10 +1245,6 @@
 	public function test_parent_should_skip_query_when_specified_parent_is_not_found_in_hierarchy_cache() {
 		global $wpdb;
 
-		if ( is_multisite() ) {
-			$this->markTestSkipped( 'Not testable in MS: wpmu_create_blog() defines WP_INSTALLING, which causes cache misses.' );
-		}
-
 		register_taxonomy( 'wptests_tax', 'post', array( 'hierarchical' => true, ) );
 
 		$terms = $this->factory->term->create_many( 3, array( 'taxonomy' => 'wptests_tax' ) );
