diff --git a/tests/phpunit/tests/dbdelta.php b/tests/phpunit/tests/dbdelta.php
index 208979e9b3..e4ea4d1b66 100644
--- a/tests/phpunit/tests/dbdelta.php
+++ b/tests/phpunit/tests/dbdelta.php
@@ -33,20 +33,34 @@ class Tests_dbDelta extends WP_UnitTestCase {
 	}
 
 	/**
-	 * Create a custom table to be used in each test.
+	 * Force MyISAM, because InnoDB only started supporting FULLTEXT indexes in MySQL 5.7.
+	 *
+	 * @ticket 49367
+	 *
+	 * @return string $db_engine ENGINE=MyISAM if we need to force the engine due to MySQL version.
 	 */
-	public function setUp() {
-
+	public static function force_myisam_engine() {
 		global $wpdb;
 
 		$db_version = $wpdb->db_version();
 		$db_engine  = '';
 
 		if ( version_compare( $db_version, '5.7', '<' ) ) {
-			// Forcing MyISAM, because InnoDB only started supporting FULLTEXT indexes in MySQL 5.7.
 			$db_engine = 'ENGINE=MyISAM';
 		}
 
+		return $db_engine;
+	}
+
+	/**
+	 * Create a custom table to be used in each test.
+	 */
+	public function setUp() {
+		global $wpdb;
+
+		$db_version = $wpdb->db_version();
+		$db_engine  = self::force_myisam_engine();
+
 		if ( version_compare( $db_version, '8.0.17', '<' ) ) {
 			// Prior to MySQL 8.0.17, default width of 20 digits was used: BIGINT(20).
 			$this->bigint_display_width = '(20)';
@@ -439,6 +453,8 @@ class Tests_dbDelta extends WP_UnitTestCase {
 	function test_dont_downsize_text_fields() {
 		global $wpdb;
 
+		$db_engine  = self::force_myisam_engine();
+
 		$result = dbDelta(
 			"
 			CREATE TABLE {$wpdb->prefix}dbdelta_test (
@@ -450,7 +466,7 @@ class Tests_dbDelta extends WP_UnitTestCase {
 				KEY key_1 (column_1({$this->max_index_length})),
 				KEY compound_key (id,column_1($this->max_index_length)),
 				FULLTEXT KEY fulltext_key (column_1)
-			) ENGINE=MyISAM
+			) {$db_engine}
 			",
 			false
 		);
@@ -464,6 +480,8 @@ class Tests_dbDelta extends WP_UnitTestCase {
 	function test_dont_downsize_blob_fields() {
 		global $wpdb;
 
+		$db_engine  = self::force_myisam_engine();
+
 		$result = dbDelta(
 			"
 			CREATE TABLE {$wpdb->prefix}dbdelta_test (
@@ -475,7 +493,7 @@ class Tests_dbDelta extends WP_UnitTestCase {
 				KEY key_1 (column_1({$this->max_index_length})),
 				KEY compound_key (id,column_1($this->max_index_length)),
 				FULLTEXT KEY fulltext_key (column_1)
-			) ENGINE=MyISAM
+			) {$db_engine}
 			",
 			false
 		);
@@ -489,6 +507,8 @@ class Tests_dbDelta extends WP_UnitTestCase {
 	function test_upsize_text_fields() {
 		global $wpdb;
 
+		$db_engine  = self::force_myisam_engine();
+
 		$result = dbDelta(
 			"
 			CREATE TABLE {$wpdb->prefix}dbdelta_test (
@@ -500,7 +520,7 @@ class Tests_dbDelta extends WP_UnitTestCase {
 				KEY key_1 (column_1({$this->max_index_length})),
 				KEY compound_key (id,column_1($this->max_index_length)),
 				FULLTEXT KEY fulltext_key (column_1)
-			) ENGINE=MyISAM
+			) {$db_engine}
 			",
 			false
 		);
@@ -520,6 +540,8 @@ class Tests_dbDelta extends WP_UnitTestCase {
 	function test_upsize_blob_fields() {
 		global $wpdb;
 
+		$db_engine  = self::force_myisam_engine();
+
 		$result = dbDelta(
 			"
 			CREATE TABLE {$wpdb->prefix}dbdelta_test (
@@ -531,7 +553,7 @@ class Tests_dbDelta extends WP_UnitTestCase {
 				KEY key_1 (column_1({$this->max_index_length})),
 				KEY compound_key (id,column_1($this->max_index_length)),
 				FULLTEXT KEY fulltext_key (column_1)
-			) ENGINE=MyISAM
+			) {$db_engine}
 			",
 			false
 		);
@@ -577,6 +599,7 @@ class Tests_dbDelta extends WP_UnitTestCase {
 		global $wpdb;
 
 		$db_version = $wpdb->db_version();
+		$db_engine  = self::force_myisam_engine();
 
 		if ( version_compare( $db_version, '5.4', '<' ) ) {
 			$this->markTestSkipped( 'Spatial indices require MySQL 5.4 and above.' );
@@ -596,7 +619,7 @@ class Tests_dbDelta extends WP_UnitTestCase {
 				spatial_value {$geomcollection_name} NOT NULL,
 				KEY non_spatial (non_spatial),
 				SPATIAL KEY spatial_key (spatial_value)
-			) ENGINE=MyISAM;
+			) {$db_engine};
 			";
 
 		// phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared
@@ -615,7 +638,7 @@ class Tests_dbDelta extends WP_UnitTestCase {
 				KEY non_spatial (non_spatial),
 				SPATIAL KEY spatial_key (spatial_value)
 				SPATIAL KEY spatial_key2 (spatial_value2)
-			) ENGINE=MyISAM;
+			) {$db_engine};
 			";
 
 		$updates = dbDelta( $schema, false );
@@ -666,6 +689,8 @@ class Tests_dbDelta extends WP_UnitTestCase {
 	function test_index_with_a_reserved_keyword_can_be_created() {
 		global $wpdb;
 
+		$db_engine = self::force_myisam_engine();
+
 		$updates = dbDelta(
 			"
 			CREATE TABLE {$wpdb->prefix}dbdelta_test (
@@ -679,7 +704,7 @@ class Tests_dbDelta extends WP_UnitTestCase {
 				KEY compound_key (id , column_1($this->max_index_length)),
 				KEY compound_key2 (id,`references`($this->max_index_length)),
 				FULLTEXT KEY fulltext_key (column_1)
-			) ENGINE=MyISAM
+			) {$db_engine}
 			"
 		);
 
@@ -711,6 +736,8 @@ class Tests_dbDelta extends WP_UnitTestCase {
 	function test_key_and_index_and_fulltext_key_and_fulltext_index_and_unique_key_and_unique_index_indicies() {
 		global $wpdb;
 
+		$db_engine = self::force_myisam_engine();
+
 		$schema = "
 			CREATE TABLE {$wpdb->prefix}dbdelta_test (
 				id bigint{$this->bigint_display_width} NOT NULL AUTO_INCREMENT,
@@ -725,7 +752,7 @@ class Tests_dbDelta extends WP_UnitTestCase {
 				UNIQUE KEY key_3 (column_1($this->max_index_length)),
 				UNIQUE INDEX key_4 (column_1($this->max_index_length)),
 				FULLTEXT INDEX key_5 (column_1),
-			) ENGINE=MyISAM
+			) {$db_engine}
 		";
 
 		$creates = dbDelta( $schema );
@@ -749,6 +776,8 @@ class Tests_dbDelta extends WP_UnitTestCase {
 	function test_index_and_key_are_synonyms_and_do_not_recreate_indices() {
 		global $wpdb;
 
+		$db_engine = self::force_myisam_engine();
+
 		$updates = dbDelta(
 			"
 			CREATE TABLE {$wpdb->prefix}dbdelta_test (
@@ -760,7 +789,7 @@ class Tests_dbDelta extends WP_UnitTestCase {
 				INDEX key_1 (column_1($this->max_index_length)),
 				INDEX compound_key (id,column_1($this->max_index_length)),
 				FULLTEXT INDEX fulltext_key (column_1)
-			) ENGINE=MyISAM
+			) {$db_engine}
 			"
 		);
 
@@ -773,6 +802,8 @@ class Tests_dbDelta extends WP_UnitTestCase {
 	function test_indices_with_prefix_limits_are_created_and_do_not_recreate_indices() {
 		global $wpdb;
 
+		$db_engine = self::force_myisam_engine();
+
 		$schema = "
 			CREATE TABLE {$wpdb->prefix}dbdelta_test (
 				id bigint{$this->bigint_display_width} NOT NULL AUTO_INCREMENT,
@@ -785,7 +816,7 @@ class Tests_dbDelta extends WP_UnitTestCase {
 				FULLTEXT KEY fulltext_key (column_1),
 				KEY key_2 (column_1(10)),
 				KEY key_3 (column_2(100),column_1(10)),
-			) ENGINE=MyISAM
+			) {$db_engine}
 		";
 
 		$creates = dbDelta( $schema );
@@ -807,6 +838,8 @@ class Tests_dbDelta extends WP_UnitTestCase {
 	function test_index_col_names_with_order_do_not_recreate_indices() {
 		global $wpdb;
 
+		$db_engine = self::force_myisam_engine();
+
 		$updates = dbDelta(
 			"
 			CREATE TABLE {$wpdb->prefix}dbdelta_test (
@@ -818,7 +851,7 @@ class Tests_dbDelta extends WP_UnitTestCase {
 				KEY key_1 (column_1($this->max_index_length) DESC),
 				KEY compound_key (id,column_1($this->max_index_length) ASC),
 				FULLTEXT KEY fulltext_key (column_1)
-			) ENGINE=MyISAM
+			) {$db_engine}
 			"
 		);
 
@@ -831,6 +864,8 @@ class Tests_dbDelta extends WP_UnitTestCase {
 	function test_primary_key_with_single_space_does_not_recreate_index() {
 		global $wpdb;
 
+		$db_engine = self::force_myisam_engine();
+
 		$updates = dbDelta(
 			"
 			CREATE TABLE {$wpdb->prefix}dbdelta_test (
@@ -842,7 +877,7 @@ class Tests_dbDelta extends WP_UnitTestCase {
 				KEY key_1 (column_1($this->max_index_length)),
 				KEY compound_key (id,column_1($this->max_index_length)),
 				FULLTEXT KEY fulltext_key (column_1)
-			) ENGINE=MyISAM
+			) {$db_engine}
 			"
 		);
 
@@ -855,6 +890,8 @@ class Tests_dbDelta extends WP_UnitTestCase {
 	function test_index_definitions_with_spaces_do_not_recreate_indices() {
 		global $wpdb;
 
+		$db_engine = self::force_myisam_engine();
+
 		$updates = dbDelta(
 			"
 			CREATE TABLE {$wpdb->prefix}dbdelta_test (
@@ -866,7 +903,7 @@ class Tests_dbDelta extends WP_UnitTestCase {
 				KEY key_1        (         column_1($this->max_index_length)),
 				KEY compound_key (id,      column_1($this->max_index_length)),
 				FULLTEXT KEY fulltext_key (column_1)
-			) ENGINE=MyISAM
+			) {$db_engine}
 			"
 		);
 
@@ -879,6 +916,8 @@ class Tests_dbDelta extends WP_UnitTestCase {
 	function test_index_types_are_not_case_sensitive_and_do_not_recreate_indices() {
 		global $wpdb;
 
+		$db_engine = self::force_myisam_engine();
+
 		$updates = dbDelta(
 			"
 			CREATE TABLE {$wpdb->prefix}dbdelta_test (
@@ -890,7 +929,7 @@ class Tests_dbDelta extends WP_UnitTestCase {
 				key key_1 (column_1($this->max_index_length)),
 				key compound_key (id,column_1($this->max_index_length)),
 				FULLTEXT KEY fulltext_key (column_1)
-			) ENGINE=MyISAM
+			) {$db_engine}
 			"
 		);
 
@@ -903,6 +942,8 @@ class Tests_dbDelta extends WP_UnitTestCase {
 	function test_key_names_are_not_case_sensitive_and_do_not_recreate_indices() {
 		global $wpdb;
 
+		$db_engine = self::force_myisam_engine();
+
 		$updates = dbDelta(
 			"
 			CREATE TABLE {$wpdb->prefix}dbdelta_test (
@@ -914,7 +955,7 @@ class Tests_dbDelta extends WP_UnitTestCase {
 				KEY KEY_1 (column_1($this->max_index_length)),
 				KEY compOUND_key (id,column_1($this->max_index_length)),
 				FULLTEXT KEY FULLtext_kEY (column_1)
-			) ENGINE=MyISAM
+			) {$db_engine}
 			",
 			false
 		);
@@ -928,6 +969,8 @@ class Tests_dbDelta extends WP_UnitTestCase {
 	function test_unchanged_key_lengths_do_not_recreate_index() {
 		global $wpdb;
 
+		$db_engine = self::force_myisam_engine();
+
 		$updates = dbDelta(
 			"
 			CREATE TABLE {$wpdb->prefix}dbdelta_test (
@@ -939,7 +982,7 @@ class Tests_dbDelta extends WP_UnitTestCase {
 				KEY key_1 (column_1({$this->max_index_length})),
 				KEY compound_key (id,column_1($this->max_index_length)),
 				FULLTEXT KEY fulltext_key (column_1)
-			) ENGINE=MyISAM
+			) {$db_engine}
 			",
 			false
 		);
@@ -953,6 +996,8 @@ class Tests_dbDelta extends WP_UnitTestCase {
 	function test_changed_key_lengths_do_not_recreate_index() {
 		global $wpdb;
 
+		$db_engine = self::force_myisam_engine();
+
 		$updates = dbDelta(
 			"
 			CREATE TABLE {$wpdb->prefix}dbdelta_test (
@@ -965,7 +1010,7 @@ class Tests_dbDelta extends WP_UnitTestCase {
 				KEY compound_key (id,column_1($this->max_index_length)),
 				KEY changing_key_length (column_1(20)),
 				FULLTEXT KEY fulltext_key (column_1)
-			) ENGINE=MyISAM
+			) {$db_engine}
 			"
 		);
 
@@ -988,7 +1033,7 @@ class Tests_dbDelta extends WP_UnitTestCase {
 				KEY compound_key (id,column_1($this->max_index_length)),
 				KEY changing_key_length (column_1(50)),
 				FULLTEXT KEY fulltext_key (column_1)
-			) ENGINE=MyISAM
+			) {$db_engine}
 			"
 		);
 
@@ -1006,7 +1051,7 @@ class Tests_dbDelta extends WP_UnitTestCase {
 				KEY compound_key (id,column_1($this->max_index_length)),
 				KEY changing_key_length (column_1(1)),
 				FULLTEXT KEY fulltext_key (column_1)
-			) ENGINE=MyISAM
+			) {$db_engine}
 			"
 		);
 
@@ -1024,7 +1069,7 @@ class Tests_dbDelta extends WP_UnitTestCase {
 				KEY compound_key (id,column_1),
 				KEY changing_key_length (column_1),
 				FULLTEXT KEY fulltext_key (column_1)
-			) ENGINE=MyISAM
+			) {$db_engine}
 			"
 		);
 
