Commit 6fd9bba7be3 for woocommerce

commit 6fd9bba7be3b83b3d8e30ed99af3f40093a54ac5
Author: Vlad Olaru <vlad.olaru@automattic.com>
Date:   Sun Nov 15 20:28:12 2026 +0200

    [tests] Drop the remaining no-op hook removals in tearDown() (#70971)

    * test: Drop more tearDown() hook removals that the restore undoes

    WordPress's test case restores its hook snapshot inside
    parent::tearDown(). #70944 deleted the removals in tearDown() that only
    had other removals between them and that call. This handles the rest:
    removals with other cleanup code before the parent call, and removals
    inside conditions or loops.

    A runtime probe marked each of the 192 removals and recorded every hook
    fired between it and the restore, in full suites with HPOS on and off.
    A removal changes anything only if its hook fires in that window. 188
    never do, so they are deleted, with the 18 if/foreach blocks and 9
    tearDown() methods left empty, and the 20 private properties that only
    remembered a callback for tearDown to remove. Four stay, because their
    hook fires before the restore: woocommerce_set_cookie_enabled,
    woocommerce_payment_gateways, wc_payment_gateways_initialized and query.

    Three of the removals #70944 kept by inspection, as hooks the base
    class's cart and shipping cleanup might fire, never fire there, so they
    go too.

    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

    * test: Drop the tearDown() hook removals that run after the restore

    These nine removals run after parent::tearDown(), so after WordPress
    has restored the hook snapshot. They change anything only if the hook
    still has a callback at that point: the test's own callbacks are
    already gone, and stripping a snapshot callback would leak into the
    next test.

    A temporary check logged whether each hook had a callback when the
    removal ran. None ever did: not in any test, with each class run
    alone, or in the full suites with HPOS on and off. Delete them, with
    the three tearDown() methods left empty and the two properties that
    only kept a callback for removal.

    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

    ---------

    Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

diff --git a/plugins/woocommerce/changelog/test-drop-teardown-hook-removals-pass-2 b/plugins/woocommerce/changelog/test-drop-teardown-hook-removals-pass-2
new file mode 100644
index 00000000000..f39ce91b018
--- /dev/null
+++ b/plugins/woocommerce/changelog/test-drop-teardown-hook-removals-pass-2
@@ -0,0 +1,3 @@
+Significance: patch
+Type: dev
+Comment: Remove more hook removals in test tear-downs that the base test case already undoes; no production change.
diff --git a/plugins/woocommerce/tests/legacy/unit-tests/core/test-wc-cancel-unpaid-orders.php b/plugins/woocommerce/tests/legacy/unit-tests/core/test-wc-cancel-unpaid-orders.php
index ea4d7c60f67..ddbbd01b428 100644
--- a/plugins/woocommerce/tests/legacy/unit-tests/core/test-wc-cancel-unpaid-orders.php
+++ b/plugins/woocommerce/tests/legacy/unit-tests/core/test-wc-cancel-unpaid-orders.php
@@ -337,8 +337,5 @@ class WC_Tests_Cancel_Unpaid_Orders extends WC_Unit_Test_Case {

 		update_option( 'woocommerce_hold_stock_minutes', $this->original_hold_stock_minutes );
 		update_option( 'woocommerce_manage_stock', $this->original_manage_stock_option );
-
-		// Remove any filters that might have been added.
-		remove_all_filters( 'woocommerce_cancel_unpaid_orders_interval_minutes' );
 	}
 }
diff --git a/plugins/woocommerce/tests/legacy/unit-tests/importer/product.php b/plugins/woocommerce/tests/legacy/unit-tests/importer/product.php
index 396911040bf..83a285aa79e 100644
--- a/plugins/woocommerce/tests/legacy/unit-tests/importer/product.php
+++ b/plugins/woocommerce/tests/legacy/unit-tests/importer/product.php
@@ -57,7 +57,6 @@ class WC_Tests_Product_CSV_Importer extends WC_Unit_Test_Case {
 	 * Remove physical files for attachments created by the current test.
 	 */
 	public function tearDown(): void {
-		remove_action( 'add_attachment', array( $this, 'track_created_attachment' ) );
 		foreach ( array_unique( $this->created_attachment_ids ) as $attachment_id ) {
 			wp_delete_attachment( $attachment_id, true );
 		}
diff --git a/plugins/woocommerce/tests/legacy/unit-tests/log/log-handler-email.php b/plugins/woocommerce/tests/legacy/unit-tests/log/log-handler-email.php
index e6d120d4c51..f4776e33ba6 100644
--- a/plugins/woocommerce/tests/legacy/unit-tests/log/log-handler-email.php
+++ b/plugins/woocommerce/tests/legacy/unit-tests/log/log-handler-email.php
@@ -28,10 +28,6 @@ class WC_Tests_Log_Handler_Email extends WC_Unit_Test_Case {
 	 * Test teardown.
 	 */
 	public function tearDown(): void {
-		remove_filter(
-			'wp_mail_from',
-			array( $this, 'filter_test_email' )
-		);
 		reset_phpmailer_instance();
 		parent::tearDown();
 	}
diff --git a/plugins/woocommerce/tests/legacy/unit-tests/rest-api/Tests/Version3/reports-sales.php b/plugins/woocommerce/tests/legacy/unit-tests/rest-api/Tests/Version3/reports-sales.php
index f776fa0934c..29c7e9c0f26 100644
--- a/plugins/woocommerce/tests/legacy/unit-tests/rest-api/Tests/Version3/reports-sales.php
+++ b/plugins/woocommerce/tests/legacy/unit-tests/rest-api/Tests/Version3/reports-sales.php
@@ -8,7 +8,6 @@
 declare( strict_types=1 );

 use Automattic\WooCommerce\Enums\OrderStatus;
-use Automattic\WooCommerce\Internal\DataStores\Orders\DataSynchronizer;
 use Automattic\WooCommerce\RestApi\UnitTests\Helpers\OrderHelper;
 use Automattic\WooCommerce\RestApi\UnitTests\HPOSToggleTrait;
 use Automattic\WooCommerce\Utilities\OrderUtil;
@@ -69,9 +68,7 @@ class WC_Tests_API_Reports_Sales extends WC_REST_Unit_Test_Case {
 	 * Restore HPOS state and clear report caches.
 	 */
 	public function tearDown(): void {
-		remove_all_actions( 'pre_option_' . DataSynchronizer::ORDERS_DATA_SYNC_ENABLED_OPTION );
 		OrderHelper::toggle_cot_feature_and_usage( $this->original_hpos_usage );
-		remove_filter( 'wc_allow_changing_orders_storage_while_sync_is_pending', '__return_true' );

 		$this->clear_sales_report_cache();
 		parent::tearDown();
diff --git a/plugins/woocommerce/tests/legacy/unit-tests/totals/totals.php b/plugins/woocommerce/tests/legacy/unit-tests/totals/totals.php
index 8114eb17d1f..765cd90c208 100644
--- a/plugins/woocommerce/tests/legacy/unit-tests/totals/totals.php
+++ b/plugins/woocommerce/tests/legacy/unit-tests/totals/totals.php
@@ -118,7 +118,6 @@ class WC_Tests_Totals extends WC_Unit_Test_Case {
 	public function tearDown(): void {
 		WC()->session->set( 'chosen_shipping_methods', array() );
 		WC_Helper_Shipping::delete_simple_flat_rate();
-		remove_action( 'woocommerce_cart_calculate_fees', array( $this, 'add_cart_fees_callback' ) );

 		parent::tearDown();
 	}
diff --git a/plugins/woocommerce/tests/legacy/unit-tests/woocommerce-admin/api/onboarding-tasks.php b/plugins/woocommerce/tests/legacy/unit-tests/woocommerce-admin/api/onboarding-tasks.php
index 7560cc6975f..cb85370fecd 100644
--- a/plugins/woocommerce/tests/legacy/unit-tests/woocommerce-admin/api/onboarding-tasks.php
+++ b/plugins/woocommerce/tests/legacy/unit-tests/woocommerce-admin/api/onboarding-tasks.php
@@ -66,7 +66,6 @@ class WC_Admin_Tests_API_Onboarding_Tasks extends WC_REST_Unit_Test_Case {
 	 * Tear down.
 	 */
 	public function tearDown(): void {
-		remove_action( 'add_attachment', array( $this, 'track_created_attachment' ) );
 		foreach ( array_unique( $this->created_attachment_ids ) as $attachment_id ) {
 			wp_delete_attachment( $attachment_id, true );
 		}
diff --git a/plugins/woocommerce/tests/legacy/unit-tests/woocommerce-admin/features/payment-gateway-suggestions/data-source-poller.php b/plugins/woocommerce/tests/legacy/unit-tests/woocommerce-admin/features/payment-gateway-suggestions/data-source-poller.php
index e56508d79a1..55a06ba0a30 100644
--- a/plugins/woocommerce/tests/legacy/unit-tests/woocommerce-admin/features/payment-gateway-suggestions/data-source-poller.php
+++ b/plugins/woocommerce/tests/legacy/unit-tests/woocommerce-admin/features/payment-gateway-suggestions/data-source-poller.php
@@ -69,14 +69,6 @@ class WC_Admin_Tests_PaymentGatewaySuggestions_DataSourcePoller extends WC_Unit_
 		);
 	}

-	/**
-	 * Tear down.
-	 */
-	public function tearDown(): void {
-		parent::tearDown();
-		remove_all_filters( DataSourcePoller::FILTER_NAME );
-	}
-
 	/**
 	 * Test that a data source can be read.
 	 */
diff --git a/plugins/woocommerce/tests/legacy/unit-tests/woocommerce-admin/remote-specs/rule-processors/base-location-country-rule-processor.php b/plugins/woocommerce/tests/legacy/unit-tests/woocommerce-admin/remote-specs/rule-processors/base-location-country-rule-processor.php
index 7f824991c4d..eb3dde20098 100644
--- a/plugins/woocommerce/tests/legacy/unit-tests/woocommerce-admin/remote-specs/rule-processors/base-location-country-rule-processor.php
+++ b/plugins/woocommerce/tests/legacy/unit-tests/woocommerce-admin/remote-specs/rule-processors/base-location-country-rule-processor.php
@@ -83,17 +83,6 @@ class WC_Admin_Tests_RemoteSpecs_RuleProcessors_BaseLocationCountryRuleProcessor
 		);
 	}

-	/**
-	 * Tear down.
-	 */
-	public function tearDown(): void {
-		foreach ( $this->option_filters as $option => $filter ) {
-			remove_filter( 'pre_option_' . $option, $filter );
-		}
-
-		parent::tearDown();
-	}
-
 	/**
 	 * Tests that the processor returns false if the base country is empty.
 	 *
diff --git a/plugins/woocommerce/tests/legacy/unit-tests/woocommerce-admin/remote-specs/rule-processors/is-woo-express-rule-processor.php b/plugins/woocommerce/tests/legacy/unit-tests/woocommerce-admin/remote-specs/rule-processors/is-woo-express-rule-processor.php
index 201bfc2b0e7..8faedc5a5fa 100644
--- a/plugins/woocommerce/tests/legacy/unit-tests/woocommerce-admin/remote-specs/rule-processors/is-woo-express-rule-processor.php
+++ b/plugins/woocommerce/tests/legacy/unit-tests/woocommerce-admin/remote-specs/rule-processors/is-woo-express-rule-processor.php
@@ -32,14 +32,6 @@ class WC_Admin_Tests_RemoteSpecs_RuleProcessors_IsWooExpressRuleProcessor extend
 		}
 	}

-	/**
-	 * Tear down.
-	 */
-	public function tearDown(): void {
-		parent::tearDown();
-		remove_all_filters( 'test_wc_calypso_bridge_is_woo_express_plan' );
-	}
-
 	/**
 	 * Get the is_woo_express rule.
 	 *
diff --git a/plugins/woocommerce/tests/php/framework/class-wc-lazy-rest-server-test.php b/plugins/woocommerce/tests/php/framework/class-wc-lazy-rest-server-test.php
index 3c4e39aba84..ac50dab6bc2 100644
--- a/plugins/woocommerce/tests/php/framework/class-wc-lazy-rest-server-test.php
+++ b/plugins/woocommerce/tests/php/framework/class-wc-lazy-rest-server-test.php
@@ -12,24 +12,6 @@ declare( strict_types = 1 );
  */
 class WC_Lazy_REST_Server_Test extends WC_REST_Unit_Test_Case {

-	/**
-	 * Filter callback currently enabling the rest-api-v4 feature, if any.
-	 *
-	 * @var callable|null
-	 */
-	private $enable_v4_feature_callback = null;
-
-	/**
-	 * Clean up the feature filter.
-	 */
-	public function tearDown(): void {
-		if ( null !== $this->enable_v4_feature_callback ) {
-			remove_filter( 'woocommerce_admin_features', $this->enable_v4_feature_callback );
-			$this->enable_v4_feature_callback = null;
-		}
-		parent::tearDown();
-	}
-
 	/**
 	 * @testdox get_routes() returns the complete route table after a scoped namespace dispatch.
 	 */
@@ -101,10 +83,10 @@ class WC_Lazy_REST_Server_Test extends WC_REST_Unit_Test_Case {
 	 * Enable the REST API v4 feature for the current test.
 	 */
 	private function enable_rest_api_v4_feature(): void {
-		$this->enable_v4_feature_callback = static function ( $features ) {
+		$enable_v4_feature_callback = static function ( $features ) {
 			$features[] = 'rest-api-v4';
 			return $features;
 		};
-		add_filter( 'woocommerce_admin_features', $this->enable_v4_feature_callback );
+		add_filter( 'woocommerce_admin_features', $enable_v4_feature_callback );
 	}
 }
diff --git a/plugins/woocommerce/tests/php/includes/admin/class-wc-admin-attributes-test.php b/plugins/woocommerce/tests/php/includes/admin/class-wc-admin-attributes-test.php
index 2c22374cc32..2174bf8be25 100644
--- a/plugins/woocommerce/tests/php/includes/admin/class-wc-admin-attributes-test.php
+++ b/plugins/woocommerce/tests/php/includes/admin/class-wc-admin-attributes-test.php
@@ -29,11 +29,9 @@ class WC_Admin_Attributes_Test extends WC_Unit_Test_Case {
 	private static int $attribute_counter = 0;

 	/**
-	 * Clean up test attributes, filters, and attribute caches.
+	 * Clean up test attributes and attribute caches.
 	 */
 	public function tearDown(): void {
-		remove_all_filters( 'woocommerce_attribute_taxonomy_row_actions' );
-
 		foreach ( $this->attribute_ids as $attribute_id ) {
 			wc_delete_attribute( $attribute_id );
 		}
diff --git a/plugins/woocommerce/tests/php/includes/admin/class-wc-admin-dashboard-setup-test.php b/plugins/woocommerce/tests/php/includes/admin/class-wc-admin-dashboard-setup-test.php
index 6c80484516a..902bcfd78b7 100644
--- a/plugins/woocommerce/tests/php/includes/admin/class-wc-admin-dashboard-setup-test.php
+++ b/plugins/woocommerce/tests/php/includes/admin/class-wc-admin-dashboard-setup-test.php
@@ -57,18 +57,14 @@ class WC_Admin_Dashboard_Setup_Test extends WC_Unit_Test_Case {
 	 */
 	public function tearDown(): void {
 		try {
-			remove_all_filters( 'woocommerce_available_payment_gateways' );
+			parent::tearDown();
 		} finally {
-			try {
-				parent::tearDown();
-			} finally {
-				$this->invalidate_dashboard_option_caches();
-
-				if ( $this->default_country_option_existed ) {
-					update_option( 'woocommerce_default_country', $this->default_country_option_value );
-				} else {
-					delete_option( 'woocommerce_default_country' );
-				}
+			$this->invalidate_dashboard_option_caches();
+
+			if ( $this->default_country_option_existed ) {
+				update_option( 'woocommerce_default_country', $this->default_country_option_value );
+			} else {
+				delete_option( 'woocommerce_default_country' );
 			}
 		}
 	}
diff --git a/plugins/woocommerce/tests/php/includes/admin/class-wc-admin-dashboard-test.php b/plugins/woocommerce/tests/php/includes/admin/class-wc-admin-dashboard-test.php
index 97a792908aa..40f51829556 100644
--- a/plugins/woocommerce/tests/php/includes/admin/class-wc-admin-dashboard-test.php
+++ b/plugins/woocommerce/tests/php/includes/admin/class-wc-admin-dashboard-test.php
@@ -77,8 +77,6 @@ class WC_Admin_Dashboard_Test extends WC_Unit_Test_Case {
 		delete_option( 'woocommerce_task_list_hidden' );
 		delete_option( 'woocommerce_task_list_hidden_lists' );
 		delete_option( 'woocommerce_task_list_complete' );
-		remove_all_filters( 'pre_option_woocommerce_task_list_complete' );
-		remove_all_filters( 'pre_option_woocommerce_task_list_hidden' );
 		delete_option( 'woocommerce_enable_reviews' );
 		delete_transient( 'wc_low_stock_count' );
 		delete_transient( 'wc_outofstock_count' );
diff --git a/plugins/woocommerce/tests/php/includes/admin/class-wc-admin-marketplace-promotions-test.php b/plugins/woocommerce/tests/php/includes/admin/class-wc-admin-marketplace-promotions-test.php
index c73cf032e7f..5d1395da6ed 100644
--- a/plugins/woocommerce/tests/php/includes/admin/class-wc-admin-marketplace-promotions-test.php
+++ b/plugins/woocommerce/tests/php/includes/admin/class-wc-admin-marketplace-promotions-test.php
@@ -32,23 +32,12 @@ class WC_Admin_Marketplace_Promotions_Test extends WC_Unit_Test_Case {
 		'woocommerce-product-addon',
 	);

-	/**
-	 * Callback registered on option_active_plugins by tests that need a plugin to read as active.
-	 *
-	 * @var callable|null
-	 */
-	private $active_plugins_filter = null;
-
 	/**
 	 * Clean up state between tests.
 	 */
 	public function tearDown(): void {
 		delete_transient( WC_Admin_Marketplace_Promotions::TRANSIENT_NAME );
 		delete_option( 'woocommerce_allow_tracking' );
-		if ( null !== $this->active_plugins_filter ) {
-			remove_filter( 'option_active_plugins', $this->active_plugins_filter );
-			$this->active_plugins_filter = null;
-		}
 		$this->reset_orders_promo_cache();
 		wp_set_current_user( 0 );

@@ -180,11 +169,10 @@ class WC_Admin_Marketplace_Promotions_Test extends WC_Unit_Test_Case {
 		// Force WooCommerce itself to read as an active plugin, then include its slug in the
 		// exclusion list. This proves not[ or[ plugins_activated... ] ] suppresses when ANY
 		// listed plugin is active (the encoding that a single plugins_activated list would get wrong).
-		// The callback is stored so tearDown removes only it, not unrelated filters on the hook.
-		$this->active_plugins_filter = static function (): array {
+		$active_plugins_filter = static function (): array {
 			return array( 'woocommerce/woocommerce.php' );
 		};
-		add_filter( 'option_active_plugins', $this->active_plugins_filter );
+		add_filter( 'option_active_plugins', $active_plugins_filter );

 		$rules    = $this->pilot_rules();
 		$rules[3] = $this->add_on_exclusion_rule( array( 'woocommerce' ) );
diff --git a/plugins/woocommerce/tests/php/includes/admin/meta-boxes/class-wc-meta-box-order-data-test.php b/plugins/woocommerce/tests/php/includes/admin/meta-boxes/class-wc-meta-box-order-data-test.php
index 70a36149527..bbc45391163 100644
--- a/plugins/woocommerce/tests/php/includes/admin/meta-boxes/class-wc-meta-box-order-data-test.php
+++ b/plugins/woocommerce/tests/php/includes/admin/meta-boxes/class-wc-meta-box-order-data-test.php
@@ -57,13 +57,6 @@ class WC_Meta_Box_Order_Data_Test extends WC_Unit_Test_Case {
 	 */
 	private $original_global_order;

-	/**
-	 * Shipping fields filter added by a test.
-	 *
-	 * @var callable|null
-	 */
-	private $shipping_fields_filter;
-
 	/**
 	 * Set up test state.
 	 */
@@ -82,10 +75,6 @@ class WC_Meta_Box_Order_Data_Test extends WC_Unit_Test_Case {
 	 * Restore test state.
 	 */
 	public function tearDown(): void {
-		if ( $this->shipping_fields_filter ) {
-			remove_filter( 'woocommerce_admin_shipping_fields', $this->shipping_fields_filter );
-		}
-
 		foreach ( $this->orders as $order ) {
 			$order->delete( true );
 		}
@@ -568,7 +557,7 @@ class WC_Meta_Box_Order_Data_Test extends WC_Unit_Test_Case {
 	public function test_displays_custom_fields_when_order_does_not_need_shipping(): void {
 		$order = $this->create_order_with_shipping_data( false );

-		$this->shipping_fields_filter = static function ( array $fields ): array {
+		$shipping_fields_filter = static function ( array $fields ): array {
 			$fields['order_routing_reference'] = array(
 				'label' => 'Order routing reference',
 				'value' => 'Routing reference 39300',
@@ -576,7 +565,7 @@ class WC_Meta_Box_Order_Data_Test extends WC_Unit_Test_Case {

 			return $fields;
 		};
-		add_filter( 'woocommerce_admin_shipping_fields', $this->shipping_fields_filter );
+		add_filter( 'woocommerce_admin_shipping_fields', $shipping_fields_filter );

 		$summary = $this->render_shipping_address_summary( $order );

@@ -589,7 +578,7 @@ class WC_Meta_Box_Order_Data_Test extends WC_Unit_Test_Case {
 	public function test_displays_filtered_phone_value_when_order_does_not_need_shipping(): void {
 		$order = $this->create_order_with_shipping_data( false );

-		$this->shipping_fields_filter = static function ( array $fields ): array {
+		$shipping_fields_filter = static function ( array $fields ): array {
 			$fields['phone'] = array(
 				'label' => 'Extension contact reference',
 				'value' => 'Extension reference 39300',
@@ -597,7 +586,7 @@ class WC_Meta_Box_Order_Data_Test extends WC_Unit_Test_Case {

 			return $fields;
 		};
-		add_filter( 'woocommerce_admin_shipping_fields', $this->shipping_fields_filter );
+		add_filter( 'woocommerce_admin_shipping_fields', $shipping_fields_filter );

 		$summary = $this->render_shipping_address_summary( $order );

diff --git a/plugins/woocommerce/tests/php/includes/admin/views/class-wc-admin-settings-view-test.php b/plugins/woocommerce/tests/php/includes/admin/views/class-wc-admin-settings-view-test.php
index 4996d75c623..8d42dc35e8a 100644
--- a/plugins/woocommerce/tests/php/includes/admin/views/class-wc-admin-settings-view-test.php
+++ b/plugins/woocommerce/tests/php/includes/admin/views/class-wc-admin-settings-view-test.php
@@ -50,7 +50,6 @@ class WC_Admin_Settings_View_Test extends WC_Unit_Test_Case {
 	 * Tear down test fixtures.
 	 */
 	public function tearDown(): void {
-		remove_filter( 'woocommerce_admin_features', array( $this, 'get_mocked_admin_features' ), self::HOOK_PRIORITY );
 		unset( $_GET['zone_id'] );
 		delete_option( 'woocommerce_show_marketplace_suggestions' );
 		delete_option( 'woocommerce_default_country' );
diff --git a/plugins/woocommerce/tests/php/includes/class-wc-checkout-test.php b/plugins/woocommerce/tests/php/includes/class-wc-checkout-test.php
index 5afcab99a32..b2acc95753f 100644
--- a/plugins/woocommerce/tests/php/includes/class-wc-checkout-test.php
+++ b/plugins/woocommerce/tests/php/includes/class-wc-checkout-test.php
@@ -47,11 +47,6 @@ class WC_Checkout_Test extends \WC_Unit_Test_Case {
 	 */
 	private $sut;

-	/**
-	 * @var callable[] Callbacks registering extra checkout fields, all removed on tear down.
-	 */
-	private $extra_field_filters = array();
-
 	/**
 	 * @var WC_Session|null The session the test base installed, put back after a test swapped in a real handler.
 	 */
@@ -103,15 +98,8 @@ class WC_Checkout_Test extends \WC_Unit_Test_Case {
 	 * Runs after each test.
 	 */
 	public function tearDown(): void {
-		remove_filter( 'woocommerce_checkout_registration_enabled', '__return_true' );
 		delete_option( 'woocommerce_calc_taxes' );

-		foreach ( $this->extra_field_filters as $extra_field_filter ) {
-			remove_filter( 'woocommerce_checkout_fields', $extra_field_filter );
-		}
-
-		$this->extra_field_filters = array();
-
 		if ( $this->original_session ) {
 			WC()->session           = $this->original_session;
 			$this->original_session = null;
@@ -127,7 +115,7 @@ class WC_Checkout_Test extends \WC_Unit_Test_Case {
 	/**
 	 * Register an extra checkout field in an arbitrary fieldset, the way checkout field editor plugins do.
 	 *
-	 * Can be called more than once per test: each callback is tracked and removed on tear down.
+	 * Can be called more than once per test.
 	 *
 	 * @param string $fieldset_key Fieldset the field belongs to.
 	 * @param string $key          Field key.
@@ -140,8 +128,6 @@ class WC_Checkout_Test extends \WC_Unit_Test_Case {
 			return $fields;
 		};

-		$this->extra_field_filters[] = $extra_field_filter;
-
 		add_filter( 'woocommerce_checkout_fields', $extra_field_filter );
 	}

diff --git a/plugins/woocommerce/tests/php/includes/class-wc-countries-test.php b/plugins/woocommerce/tests/php/includes/class-wc-countries-test.php
index ae55661f388..090981b8080 100644
--- a/plugins/woocommerce/tests/php/includes/class-wc-countries-test.php
+++ b/plugins/woocommerce/tests/php/includes/class-wc-countries-test.php
@@ -384,7 +384,7 @@ class WC_Countries_Test extends \WC_Unit_Test_Case {
 	}

 	/**
-	 * Remove registered filters and reset test state.
+	 * Reset test state.
 	 */
 	public function tearDown(): void {
 		if ( $this->states_global_existed ) {
@@ -396,31 +396,6 @@ class WC_Countries_Test extends \WC_Unit_Test_Case {
 		$this->states_global_existed = false;
 		$this->states_global_value   = null;

-		remove_filter( 'determine_locale', array( $this, 'filter_active_locale' ) );
-		remove_filter( 'determine_locale', array( $this, 'filter_counted_active_locale' ) );
-		remove_filter( 'determine_locale', array( $this, 'filter_stateful_locale' ) );
-		remove_filter( 'woocommerce_countries', array( $this, 'filter_country_names' ) );
-		remove_filter( 'woocommerce_countries', array( $this, 'record_country_filter_call' ) );
-		remove_filter( 'woocommerce_countries', array( $this, 'filter_empty_geographical_data' ) );
-		remove_filter( 'woocommerce_states', array( $this, 'filter_state_names' ) );
-		remove_filter( 'woocommerce_states', array( $this, 'filter_empty_geographical_data' ) );
-		remove_filter( 'woocommerce_continents', array( $this, 'filter_continent_names' ) );
-		remove_filter( 'woocommerce_continents', array( $this, 'filter_empty_geographical_data' ) );
-		remove_filter( 'woocommerce_get_country_locale', array( $this, 'filter_country_locale' ) );
-		remove_filter( 'pre_option_woocommerce_allowed_countries', array( $this, 'return_all_countries' ) );
-		remove_filter( 'pre_option_woocommerce_ship_to_countries', array( $this, 'return_all_countries' ) );
-		remove_filter( 'locale', array( $this, 'read_geographical_data_in_locale_filter' ), 20 );
-		remove_filter( 'determine_locale', array( $this, 'read_geographical_data_in_locale_filter' ), 20 );
-		remove_filter( 'pre_determine_locale', array( $this, 'read_geographical_data_in_locale_filter' ), 20 );
-		remove_filter( 'woocommerce_countries', array( $this, 'determine_locale_while_building' ) );
-		remove_filter( 'woocommerce_states', array( $this, 'determine_locale_while_building' ) );
-		remove_filter( 'woocommerce_get_country_locale', array( $this, 'determine_locale_while_building' ) );
-		remove_filter( 'woocommerce_countries', array( $this, 'stamp_country_names_with_switched_locale' ) );
-		remove_filter( 'woocommerce_get_country_locale', array( $this, 'stamp_country_locale_with_switched_locale' ) );
-		remove_filter( 'get_available_languages', array( $this, 'add_available_test_locale' ) );
-		remove_filter( 'locale', array( $this, 'read_default_location_in_locale_filter' ), 20 );
-		remove_filter( 'determine_locale', array( $this, 'read_default_location_in_locale_filter' ), 20 );
-
 		if ( null !== $this->original_countries ) {
 			WC()->countries = $this->original_countries;
 		}
diff --git a/plugins/woocommerce/tests/php/includes/class-wc-form-handler-test.php b/plugins/woocommerce/tests/php/includes/class-wc-form-handler-test.php
index 5c4e42c3df4..5128a64a09b 100644
--- a/plugins/woocommerce/tests/php/includes/class-wc-form-handler-test.php
+++ b/plugins/woocommerce/tests/php/includes/class-wc-form-handler-test.php
@@ -74,7 +74,6 @@ class WC_Form_Handler_Test extends WC_Unit_Test_Case {
 	 * Clean up test fixtures.
 	 */
 	public function tearDown(): void {
-		remove_filter( 'wp_redirect', array( $this, 'intercept_redirect' ) );
 		$this->reset_cancel_order_handled_flag();

 		$_GET     = $this->original_get;
diff --git a/plugins/woocommerce/tests/php/includes/class-wc-frontend-scripts-test.php b/plugins/woocommerce/tests/php/includes/class-wc-frontend-scripts-test.php
index 3bee3ef9035..222c7a5a42f 100644
--- a/plugins/woocommerce/tests/php/includes/class-wc-frontend-scripts-test.php
+++ b/plugins/woocommerce/tests/php/includes/class-wc-frontend-scripts-test.php
@@ -12,13 +12,6 @@ declare( strict_types=1 );
  */
 class WC_Frontend_Scripts_Test extends WC_Unit_Test_Case {

-	/**
-	 * Gateways filter callback reference for cleanup.
-	 *
-	 * @var callable|null
-	 */
-	private $gateways_filter_callback = null;
-
 	/**
 	 * Setup test fixtures.
 	 */
@@ -35,12 +28,6 @@ class WC_Frontend_Scripts_Test extends WC_Unit_Test_Case {
 	public function tearDown(): void {
 		parent::tearDown();

-		// Remove the gateways filter if it was added.
-		if ( null !== $this->gateways_filter_callback ) {
-			remove_filter( 'woocommerce_payment_gateways', $this->gateways_filter_callback );
-			$this->gateways_filter_callback = null;
-		}
-
 		// Reinitialize payment gateways to clean state.
 		WC()->payment_gateways()->init();

@@ -109,10 +96,12 @@ class WC_Frontend_Scripts_Test extends WC_Unit_Test_Case {
 	 * @param array $gateway_instances Array of gateway instances to register.
 	 */
 	private function register_test_gateways( array $gateway_instances ): void {
-		$this->gateways_filter_callback = function ( $gateways ) use ( $gateway_instances ) {
-			return array_merge( $gateways, $gateway_instances );
-		};
-		add_filter( 'woocommerce_payment_gateways', $this->gateways_filter_callback );
+		add_filter(
+			'woocommerce_payment_gateways',
+			function ( $gateways ) use ( $gateway_instances ) {
+				return array_merge( $gateways, $gateway_instances );
+			}
+		);
 		WC()->payment_gateways()->init();
 	}

diff --git a/plugins/woocommerce/tests/php/includes/class-wc-post-types-test.php b/plugins/woocommerce/tests/php/includes/class-wc-post-types-test.php
index 7e0b91de911..087c1926561 100644
--- a/plugins/woocommerce/tests/php/includes/class-wc-post-types-test.php
+++ b/plugins/woocommerce/tests/php/includes/class-wc-post-types-test.php
@@ -147,7 +147,6 @@ class WC_Post_Types_Test extends WC_Unit_Test_Case {
 		if ( $this->flush_hook_was_registered ) {
 			add_action( 'woocommerce_after_register_post_type', array( 'WC_Post_Types', 'maybe_flush_rewrite_rules' ) );
 		}
-		remove_filter( 'flush_rewrite_rules_hard', '__return_false' );
 		wp_installing( $this->original_installing );

 		parent::tearDown();
diff --git a/plugins/woocommerce/tests/php/includes/class-wc-regenerate-images-test.php b/plugins/woocommerce/tests/php/includes/class-wc-regenerate-images-test.php
index fc5ae4fed04..6d95eb646c3 100644
--- a/plugins/woocommerce/tests/php/includes/class-wc-regenerate-images-test.php
+++ b/plugins/woocommerce/tests/php/includes/class-wc-regenerate-images-test.php
@@ -10,24 +10,12 @@ class WC_Regenerate_Images_Test extends WC_Unit_Test_Case {

 	use ImageAttachmentTrait;

-	/**
-	 * Metadata filter callback added by a test, removed on teardown.
-	 *
-	 * @var callable|null
-	 */
-	private $metadata_filter = null;
-
 	/**
 	 * Tear down test fixtures.
 	 */
 	public function tearDown(): void {
 		$this->remove_added_uploads();

-		if ( $this->metadata_filter ) {
-			remove_filter( 'wp_get_attachment_metadata', $this->metadata_filter );
-			$this->metadata_filter = null;
-		}
-
 		parent::tearDown();
 	}

@@ -41,14 +29,14 @@ class WC_Regenerate_Images_Test extends WC_Unit_Test_Case {
 		$this->add_custom_attachment_metadata( $attachment_id, array( 'test_api_meta' => array( 'last_modified' => 1708332626 ) ) );

 		// A co-installed plugin hides its own key from readers.
-		$this->metadata_filter = function ( $data ) {
+		$metadata_filter = function ( $data ) {
 			if ( is_array( $data ) ) {
 				unset( $data['test_api_meta'] );
 			}

 			return $data;
 		};
-		add_filter( 'wp_get_attachment_metadata', $this->metadata_filter );
+		add_filter( 'wp_get_attachment_metadata', $metadata_filter );

 		$this->assertArrayNotHasKey( 'test_api_meta', wp_get_attachment_metadata( $attachment_id ), 'The filter should hide the key from readers' );
 		$this->assertArrayHasKey( 'test_api_meta', wp_get_attachment_metadata( $attachment_id, true ), 'The stored value should keep the key' );
diff --git a/plugins/woocommerce/tests/php/includes/class-wc-tax-test.php b/plugins/woocommerce/tests/php/includes/class-wc-tax-test.php
index ecfb4d3d749..b1d71e2088d 100644
--- a/plugins/woocommerce/tests/php/includes/class-wc-tax-test.php
+++ b/plugins/woocommerce/tests/php/includes/class-wc-tax-test.php
@@ -67,9 +67,6 @@ class WC_Tax_Test extends WC_Unit_Test_Case {
 	public function tearDown(): void {
 		parent::tearDown();

-		remove_all_filters( 'woocommerce_shipping_tax_class' );
-		remove_all_filters( 'woocommerce_shipping_prices_include_tax' );
-
 		// Clean up created products.
 		foreach ( $this->created_products as $product_id ) {
 			wp_delete_post( $product_id, true );
diff --git a/plugins/woocommerce/tests/php/includes/data-stores/class-wc-order-data-store-cpt-test.php b/plugins/woocommerce/tests/php/includes/data-stores/class-wc-order-data-store-cpt-test.php
index d6838d95731..722cf958c45 100644
--- a/plugins/woocommerce/tests/php/includes/data-stores/class-wc-order-data-store-cpt-test.php
+++ b/plugins/woocommerce/tests/php/includes/data-stores/class-wc-order-data-store-cpt-test.php
@@ -61,7 +61,6 @@ class WC_Order_Data_Store_CPT_Test extends WC_Unit_Test_Case {
 	 * @return void
 	 */
 	public function tearDown(): void {
-		remove_all_filters( 'wc_allow_changing_orders_storage_while_sync_is_pending' );
 		$this->disable_cogs_feature();
 		parent::tearDown();
 	}
diff --git a/plugins/woocommerce/tests/php/includes/data-stores/class-wc-order-date-query-test.php b/plugins/woocommerce/tests/php/includes/data-stores/class-wc-order-date-query-test.php
index 80d0cc00845..103b595b7d5 100644
--- a/plugins/woocommerce/tests/php/includes/data-stores/class-wc-order-date-query-test.php
+++ b/plugins/woocommerce/tests/php/includes/data-stores/class-wc-order-date-query-test.php
@@ -65,7 +65,6 @@ class WC_Order_Date_Query_Test extends WC_Unit_Test_Case {
 	 */
 	public function tearDown(): void {
 		OrderHelper::toggle_cot_feature_and_usage( $this->previous_cot_state );
-		remove_filter( 'wc_allow_changing_orders_storage_while_sync_is_pending', '__return_true' );
 		update_option( 'timezone_string', '' );

 		parent::tearDown();
diff --git a/plugins/woocommerce/tests/php/includes/emails/class-wc-email-cancelled-order-test.php b/plugins/woocommerce/tests/php/includes/emails/class-wc-email-cancelled-order-test.php
index 46ef013832d..3c216395030 100644
--- a/plugins/woocommerce/tests/php/includes/emails/class-wc-email-cancelled-order-test.php
+++ b/plugins/woocommerce/tests/php/includes/emails/class-wc-email-cancelled-order-test.php
@@ -52,14 +52,10 @@ class WC_Email_Cancelled_Order_Test extends \WC_Unit_Test_Case {
 	}

 	/**
-	 * Clean up the option, hooks and deferred queue.
+	 * Clean up the option and deferred queue.
 	 */
 	public function tearDown(): void {
 		delete_option( self::OPTION_KEY );
-		remove_action( 'woocommerce_email_skipped', array( $this, 'capture_skipped' ), 10 );
-		remove_action( 'woocommerce_email_disabled', array( $this, 'capture_disabled' ) );
-		remove_all_filters( 'woocommerce_queue_class' );
-		remove_action( 'woocommerce_order_status_pending_to_cancelled', array( \WC_Emails::class, 'queue_transactional_email' ), 10 );
 		$this->set_wc_emails_deferred_queue( null );
 		$this->reset_queue_singleton();
 		parent::tearDown();
diff --git a/plugins/woocommerce/tests/php/includes/rest-api/Controllers/Version2/class-wc-rest-system-status-v2-controller-test.php b/plugins/woocommerce/tests/php/includes/rest-api/Controllers/Version2/class-wc-rest-system-status-v2-controller-test.php
index 28457fabe56..1c6c9fdeb58 100644
--- a/plugins/woocommerce/tests/php/includes/rest-api/Controllers/Version2/class-wc-rest-system-status-v2-controller-test.php
+++ b/plugins/woocommerce/tests/php/includes/rest-api/Controllers/Version2/class-wc-rest-system-status-v2-controller-test.php
@@ -59,7 +59,6 @@ class WC_REST_System_Status_V2_Controller_Test extends WC_REST_Unit_Test_Case {
 	 */
 	public function tearDown(): void {
 		try {
-			remove_all_filters( 'wc_get_template' );
 			delete_transient( 'wc_system_status_theme_info' );
 			ActionSchedulerUtil::reset_cache();
 			$this->reset_legacy_proxy_mocks();
diff --git a/plugins/woocommerce/tests/php/includes/rest-api/Controllers/Version3/class-wc-rest-order-refunds-preview-test.php b/plugins/woocommerce/tests/php/includes/rest-api/Controllers/Version3/class-wc-rest-order-refunds-preview-test.php
index b0f34692b8a..1af30d928f5 100644
--- a/plugins/woocommerce/tests/php/includes/rest-api/Controllers/Version3/class-wc-rest-order-refunds-preview-test.php
+++ b/plugins/woocommerce/tests/php/includes/rest-api/Controllers/Version3/class-wc-rest-order-refunds-preview-test.php
@@ -62,8 +62,6 @@ class WC_REST_Order_Refunds_Preview_Test extends WC_REST_Unit_Test_Case {
 	 * Runs after each test.
 	 */
 	public function tearDown(): void {
-		remove_all_filters( 'woocommerce_rest_prepare_order_refund_preview' );
-
 		global $wp_rest_additional_fields;
 		unset( $wp_rest_additional_fields['order_refund_preview'] );

diff --git a/plugins/woocommerce/tests/php/includes/rest-api/Controllers/Version3/class-wc-rest-paypal-standard-controller-test.php b/plugins/woocommerce/tests/php/includes/rest-api/Controllers/Version3/class-wc-rest-paypal-standard-controller-test.php
index 5e11e65dd32..c09caa0b541 100644
--- a/plugins/woocommerce/tests/php/includes/rest-api/Controllers/Version3/class-wc-rest-paypal-standard-controller-test.php
+++ b/plugins/woocommerce/tests/php/includes/rest-api/Controllers/Version3/class-wc-rest-paypal-standard-controller-test.php
@@ -103,8 +103,6 @@ class WC_REST_Paypal_Standard_Controller_Test extends WC_REST_Unit_Test_Case {
 	public function tearDown(): void {
 		WC()->session = $this->previous_session;

-		remove_filter( 'woocommerce_shipping_legacy_flat_rate_is_available', array( $this, 'disable_legacy_flat_rate_shipping' ), 99999 );
-
 		parent::tearDown();
 	}

diff --git a/plugins/woocommerce/tests/php/includes/rest-api/Controllers/Version4/Settings/class-wc-rest-general-settings-v4-controller-test.php b/plugins/woocommerce/tests/php/includes/rest-api/Controllers/Version4/Settings/class-wc-rest-general-settings-v4-controller-test.php
index e9336dfbe26..ed3500c1e4c 100644
--- a/plugins/woocommerce/tests/php/includes/rest-api/Controllers/Version4/Settings/class-wc-rest-general-settings-v4-controller-test.php
+++ b/plugins/woocommerce/tests/php/includes/rest-api/Controllers/Version4/Settings/class-wc-rest-general-settings-v4-controller-test.php
@@ -23,10 +23,6 @@ class WC_REST_General_Settings_V4_Controller_Test extends WC_REST_Unit_Test_Case
 	 */
 	protected static $user_id;

-	/**
-	 * @var callable
-	 */
-	private $feature_filter;
 	/**
 	 * @var string|false
 	 */
@@ -46,12 +42,12 @@ class WC_REST_General_Settings_V4_Controller_Test extends WC_REST_Unit_Test_Case
 	 */
 	public function setUp(): void {
 		// Set up the feature flag before parent::setUp() to ensure the feature is enabled.
-		$this->feature_filter = function ( $features ) {
+		$feature_filter = function ( $features ) {
 			$features[] = 'rest-api-v4';
 			return $features;
 		};

-		add_filter( 'woocommerce_admin_features', $this->feature_filter );
+		add_filter( 'woocommerce_admin_features', $feature_filter );

 		parent::setUp();

@@ -63,9 +59,6 @@ class WC_REST_General_Settings_V4_Controller_Test extends WC_REST_Unit_Test_Case
 	 * Tear down.
 	 */
 	public function tearDown(): void {
-		if ( isset( $this->feature_filter ) ) {
-			remove_filter( 'woocommerce_admin_features', $this->feature_filter );
-		}
 		if ( isset( $this->prev_default_country ) ) {
 			update_option( 'woocommerce_default_country', $this->prev_default_country );
 		}
diff --git a/plugins/woocommerce/tests/php/includes/shortcodes/class-wc-shortcode-checkout-test.php b/plugins/woocommerce/tests/php/includes/shortcodes/class-wc-shortcode-checkout-test.php
index 6900d4c4472..d6d7d7df684 100644
--- a/plugins/woocommerce/tests/php/includes/shortcodes/class-wc-shortcode-checkout-test.php
+++ b/plugins/woocommerce/tests/php/includes/shortcodes/class-wc-shortcode-checkout-test.php
@@ -26,13 +26,6 @@ class WC_Shortcode_Checkout_Test extends WC_Unit_Test_Case {
 	 */
 	private $original_customer_billing = array();

-	/**
-	 * Callback currently reordering the available gateways, if any.
-	 *
-	 * @var callable|null
-	 */
-	private $gateway_order_filter;
-
 	/**
 	 * Remember the shared customer state this test may change.
 	 */
@@ -65,11 +58,6 @@ class WC_Shortcode_Checkout_Test extends WC_Unit_Test_Case {
 		}
 		$this->original_gateway_enabled = array();

-		if ( $this->gateway_order_filter ) {
-			remove_filter( 'woocommerce_available_payment_gateways', $this->gateway_order_filter );
-			$this->gateway_order_filter = null;
-		}
-
 		// The gateway objects are shared singletons, so clear the selection on all of them, not only those this test enabled.
 		foreach ( WC()->payment_gateways()->payment_gateways() as $gateway ) {
 			$gateway->chosen = false;
@@ -101,11 +89,11 @@ class WC_Shortcode_Checkout_Test extends WC_Unit_Test_Case {
 	 * @param string $gateway_id Gateway ID to list first.
 	 */
 	private function put_gateway_first( string $gateway_id ): void {
-		$this->gateway_order_filter = function ( $gateways ) use ( $gateway_id ) {
+		$gateway_order_filter = function ( $gateways ) use ( $gateway_id ) {
 			return isset( $gateways[ $gateway_id ] ) ? array( $gateway_id => $gateways[ $gateway_id ] ) + $gateways : $gateways;
 		};

-		add_filter( 'woocommerce_available_payment_gateways', $this->gateway_order_filter );
+		add_filter( 'woocommerce_available_payment_gateways', $gateway_order_filter );
 	}

 	/**
diff --git a/plugins/woocommerce/tests/php/src/Admin/API/MobileAppQRLoginTest.php b/plugins/woocommerce/tests/php/src/Admin/API/MobileAppQRLoginTest.php
index 4bbd43b8271..acb9a1e8761 100644
--- a/plugins/woocommerce/tests/php/src/Admin/API/MobileAppQRLoginTest.php
+++ b/plugins/woocommerce/tests/php/src/Admin/API/MobileAppQRLoginTest.php
@@ -137,7 +137,7 @@ class MobileAppQRLoginTest extends WC_Unit_Test_Case {
 	private $subscriber_id;

 	/**
-	 * Filters registered via force_site_url() so tearDown() can remove them.
+	 * Filters registered via force_site_url(), counted to give each a higher priority.
 	 *
 	 * @var array<int, callable>
 	 */
@@ -197,10 +197,7 @@ class MobileAppQRLoginTest extends WC_Unit_Test_Case {
 		// Clear any QR login data the tests may have written.
 		$this->delete_all_qr_login_data();

-		// Remove any pre_option_siteurl filters force_site_url() registered.
-		foreach ( $this->site_url_filters as $priority => $filter ) {
-			remove_filter( 'pre_option_siteurl', $filter, $priority );
-		}
+		// Reset the filters registered by force_site_url().
 		$this->site_url_filters = array();
 		$this->clear_rest_server();
 		unset( $this->server, $this->controller );
@@ -236,8 +233,7 @@ class MobileAppQRLoginTest extends WC_Unit_Test_Case {
 	 * Uses the `pre_option_siteurl` filter so we do not have to mutate and restore
 	 * the real `siteurl` option. Filters stack — the last one registered with the
 	 * highest priority wins — so callers can override an earlier setUp() default
-	 * by calling this method again. All registered filters are removed in
-	 * tearDown().
+	 * by calling this method again.
 	 *
 	 * @param string $url The URL to return from `get_site_url()`.
 	 */
diff --git a/plugins/woocommerce/tests/php/src/Admin/API/Reports/DataStore/ExcludedOrderStatusesTest.php b/plugins/woocommerce/tests/php/src/Admin/API/Reports/DataStore/ExcludedOrderStatusesTest.php
index 47a259edf0a..e6ca8fddd32 100644
--- a/plugins/woocommerce/tests/php/src/Admin/API/Reports/DataStore/ExcludedOrderStatusesTest.php
+++ b/plugins/woocommerce/tests/php/src/Admin/API/Reports/DataStore/ExcludedOrderStatusesTest.php
@@ -11,21 +11,10 @@ use WC_Unit_Test_Case;
  */
 class ExcludedOrderStatusesTest extends WC_Unit_Test_Case {

-	/**
-	 * Filter hooks added during a test, as [ tag, callback ] pairs, removed again in tearDown().
-	 *
-	 * @var array[]
-	 */
-	private $added_filters = array();
-
 	/**
 	 * Tear down test fixtures.
 	 */
 	public function tearDown(): void {
-		foreach ( $this->added_filters as $added_filter ) {
-			remove_filter( $added_filter[0], $added_filter[1] );
-		}
-		$this->added_filters = array();
 		delete_option( 'woocommerce_excluded_report_order_statuses' );
 		parent::tearDown();
 	}
@@ -65,7 +54,6 @@ class ExcludedOrderStatusesTest extends WC_Unit_Test_Case {
 		delete_option( 'woocommerce_excluded_report_order_statuses' );
 		$callback = array( $this, 'add_custom_excluded_status' );
 		add_filter( 'woocommerce_analytics_settings_default_excluded_order_statuses', $callback );
-		$this->added_filters[] = array( 'woocommerce_analytics_settings_default_excluded_order_statuses', $callback );

 		$statuses = $this->invoke_get_excluded_report_order_statuses();

diff --git a/plugins/woocommerce/tests/php/src/Admin/API/Reports/OrderAwareControllerTraitTest.php b/plugins/woocommerce/tests/php/src/Admin/API/Reports/OrderAwareControllerTraitTest.php
index 291e034530d..57fe624d934 100644
--- a/plugins/woocommerce/tests/php/src/Admin/API/Reports/OrderAwareControllerTraitTest.php
+++ b/plugins/woocommerce/tests/php/src/Admin/API/Reports/OrderAwareControllerTraitTest.php
@@ -11,24 +11,6 @@ use WC_Unit_Test_Case;
  */
 class OrderAwareControllerTraitTest extends WC_Unit_Test_Case {

-	/**
-	 * Filter hooks added during a test, as [ tag, callback ] pairs, removed again in tearDown().
-	 *
-	 * @var array[]
-	 */
-	private $added_filters = array();
-
-	/**
-	 * Tear down test fixtures.
-	 */
-	public function tearDown(): void {
-		foreach ( $this->added_filters as $added_filter ) {
-			remove_filter( $added_filter[0], $added_filter[1] );
-		}
-		$this->added_filters = array();
-		parent::tearDown();
-	}
-
 	/**
 	 * @testdox get_order_statuses includes the built-in default actionable statuses when not filtered.
 	 */
@@ -72,7 +54,7 @@ class OrderAwareControllerTraitTest extends WC_Unit_Test_Case {
 	}

 	/**
-	 * Register a filter that returns a fixed value, tracked for removal in tearDown().
+	 * Register a filter that returns a fixed value.
 	 *
 	 * @param string $tag   Filter tag to hook.
 	 * @param array  $value Value the filter should return.
@@ -82,6 +64,5 @@ class OrderAwareControllerTraitTest extends WC_Unit_Test_Case {
 			return $value;
 		};
 		add_filter( $tag, $callback );
-		$this->added_filters[] = array( $tag, $callback );
 	}
 }
diff --git a/plugins/woocommerce/tests/php/src/Admin/API/Reports/Products/DataStoreTest.php b/plugins/woocommerce/tests/php/src/Admin/API/Reports/Products/DataStoreTest.php
index ed121a03b53..5977233eae0 100644
--- a/plugins/woocommerce/tests/php/src/Admin/API/Reports/Products/DataStoreTest.php
+++ b/plugins/woocommerce/tests/php/src/Admin/API/Reports/Products/DataStoreTest.php
@@ -37,7 +37,6 @@ class DataStoreTest extends WC_Unit_Test_Case {
 	 * Tear down test fixtures.
 	 */
 	public function tearDown(): void {
-		remove_filter( 'wc_order_statuses', array( $this, 'add_custom_status' ) );
 		delete_option( 'woocommerce_excluded_report_order_statuses' );
 		unset( $GLOBALS['wp_post_statuses'][ 'wc-' . $this->long_status ] );
 		parent::tearDown();
diff --git a/plugins/woocommerce/tests/php/src/Admin/PageControllerTest.php b/plugins/woocommerce/tests/php/src/Admin/PageControllerTest.php
index f33e81765d0..66d22f7bb81 100644
--- a/plugins/woocommerce/tests/php/src/Admin/PageControllerTest.php
+++ b/plugins/woocommerce/tests/php/src/Admin/PageControllerTest.php
@@ -103,9 +103,6 @@ class PageControllerTest extends WC_Unit_Test_Case {
 	 * @return void
 	 */
 	public function tearDown(): void {
-		// Remove redirect listener.
-		remove_filter( 'wp_redirect', array( $this, 'watch_and_annul_redirects' ) );
-
 		// Clean up users.
 		wp_delete_user( $this->admin_user_id );
 		wp_delete_user( $this->shop_manager_user_id );
diff --git a/plugins/woocommerce/tests/php/src/Admin/Settings/SettingsSectionRegistryTest.php b/plugins/woocommerce/tests/php/src/Admin/Settings/SettingsSectionRegistryTest.php
index f42f21bcf4e..29b295c1be1 100644
--- a/plugins/woocommerce/tests/php/src/Admin/Settings/SettingsSectionRegistryTest.php
+++ b/plugins/woocommerce/tests/php/src/Admin/Settings/SettingsSectionRegistryTest.php
@@ -83,7 +83,6 @@ class SettingsSectionRegistryTest extends WC_Unit_Test_Case {
 		$current_section = $this->original_current_section;
 		$current_tab     = $this->original_current_tab;

-		remove_filter( 'woocommerce_admin_features', array( $this, 'enable_settings_ui_feature' ) );
 		foreach ( array( 'acme-native-settings-ui', 'acme-payments-settings-ui', 'direct-payments-settings-ui' ) as $script_handle ) {
 			wp_dequeue_script( $script_handle );
 			wp_deregister_script( $script_handle );
diff --git a/plugins/woocommerce/tests/php/src/Blocks/BlockTypes/BreadcrumbsTest.php b/plugins/woocommerce/tests/php/src/Blocks/BlockTypes/BreadcrumbsTest.php
index 80a8ac39af1..78a43b29b42 100644
--- a/plugins/woocommerce/tests/php/src/Blocks/BlockTypes/BreadcrumbsTest.php
+++ b/plugins/woocommerce/tests/php/src/Blocks/BlockTypes/BreadcrumbsTest.php
@@ -32,7 +32,6 @@ class BreadcrumbsTest extends WP_UnitTestCase {
 	 * Tear down test fixtures.
 	 */
 	public function tearDown(): void {
-		remove_all_filters( 'wp_theme_json_data_user' );
 		switch_theme( $this->original_theme );
 		parent::tearDown();
 	}
diff --git a/plugins/woocommerce/tests/php/src/Blocks/BlockTypes/CustomerAccountTest.php b/plugins/woocommerce/tests/php/src/Blocks/BlockTypes/CustomerAccountTest.php
index dc80a54f385..8428edfb0be 100644
--- a/plugins/woocommerce/tests/php/src/Blocks/BlockTypes/CustomerAccountTest.php
+++ b/plugins/woocommerce/tests/php/src/Blocks/BlockTypes/CustomerAccountTest.php
@@ -47,7 +47,6 @@ class CustomerAccountTest extends WP_UnitTestCase {
 	 * Tear down test fixtures.
 	 */
 	public function tearDown(): void {
-		remove_all_filters( 'pre_get_avatar_data' );
 		wp_set_current_user( 0 );
 		wp_delete_user( $this->user_id );
 		update_option( 'show_avatars', $this->original_show_avatars );
diff --git a/plugins/woocommerce/tests/php/src/Blocks/BlockTypes/ProductFilterAttributeTest.php b/plugins/woocommerce/tests/php/src/Blocks/BlockTypes/ProductFilterAttributeTest.php
index 466f06c8a82..8ce7bc86513 100644
--- a/plugins/woocommerce/tests/php/src/Blocks/BlockTypes/ProductFilterAttributeTest.php
+++ b/plugins/woocommerce/tests/php/src/Blocks/BlockTypes/ProductFilterAttributeTest.php
@@ -52,8 +52,6 @@ class ProductFilterAttributeTest extends WC_Unit_Test_Case {
 	 * Tear down test fixtures.
 	 */
 	public function tearDown(): void {
-		remove_filter( 'woocommerce_pre_product_filter_data', array( $this, 'filter_product_filter_data' ), 10 );
-
 		foreach ( $this->attribute_term_ids as $taxonomy => $term_ids ) {
 			foreach ( $term_ids as $term_id ) {
 				wp_delete_term( $term_id, $taxonomy );
diff --git a/plugins/woocommerce/tests/php/src/Blocks/BlockTypes/ProductFilterTaxonomyTest.php b/plugins/woocommerce/tests/php/src/Blocks/BlockTypes/ProductFilterTaxonomyTest.php
index 6615916479e..1d190bb75f7 100644
--- a/plugins/woocommerce/tests/php/src/Blocks/BlockTypes/ProductFilterTaxonomyTest.php
+++ b/plugins/woocommerce/tests/php/src/Blocks/BlockTypes/ProductFilterTaxonomyTest.php
@@ -43,8 +43,6 @@ class ProductFilterTaxonomyTest extends WC_Unit_Test_Case {
 	 * Tear down test fixtures.
 	 */
 	public function tearDown(): void {
-		remove_filter( 'woocommerce_pre_product_filter_data', array( $this, 'filter_product_filter_data' ), 10 );
-
 		foreach ( $this->term_ids as $term_id ) {
 			wp_delete_term( $term_id, 'product_cat' );
 		}
diff --git a/plugins/woocommerce/tests/php/src/Blocks/BlockTypes/ProductFilters.php b/plugins/woocommerce/tests/php/src/Blocks/BlockTypes/ProductFilters.php
index fe01e97a756..1dcf3be01da 100644
--- a/plugins/woocommerce/tests/php/src/Blocks/BlockTypes/ProductFilters.php
+++ b/plugins/woocommerce/tests/php/src/Blocks/BlockTypes/ProductFilters.php
@@ -27,13 +27,6 @@ class ProductFilters extends \WC_Unit_Test_Case {
 	 */
 	private $product_filters;

-	/**
-	 * Tracks dynamically added filters so they can be removed during tearDown.
-	 *
-	 * @var array
-	 */
-	private $registered_filters = [];
-
 	/**
 	 * Reflection method used to invoke the private get_canonical_url_no_pagination method.
 	 *
@@ -156,22 +149,7 @@ class ProductFilters extends \WC_Unit_Test_Case {
 	}

 	/**
-	 * Clean up dynamically added hooks.
-	 *
-	 * @return void
-	 */
-	public function tearDown(): void {
-		foreach ( array_reverse( $this->registered_filters ) as $filter ) {
-			remove_filter( $filter['hook'], $filter['callback'], $filter['priority'] );
-		}
-
-		$this->registered_filters = [];
-
-		parent::tearDown();
-	}
-
-	/**
-	 * Helper to register filters and track them for cleanup.
+	 * Helper to register filters.
 	 *
 	 * @param string   $hook          Filter name.
 	 * @param callable $callback      Callback.
@@ -181,12 +159,6 @@ class ProductFilters extends \WC_Unit_Test_Case {
 	 */
 	private function register_filter( string $hook, callable $callback, int $priority = 10, int $accepted_args = 1 ): void {
 		add_filter( $hook, $callback, $priority, $accepted_args );
-
-		$this->registered_filters[] = [
-			'hook'     => $hook,
-			'callback' => $callback,
-			'priority' => $priority,
-		];
 	}

 	/**
diff --git a/plugins/woocommerce/tests/php/src/Blocks/CoreBreadcrumbsCompatibilityTest.php b/plugins/woocommerce/tests/php/src/Blocks/CoreBreadcrumbsCompatibilityTest.php
index bc20a0d2925..58832232a4c 100644
--- a/plugins/woocommerce/tests/php/src/Blocks/CoreBreadcrumbsCompatibilityTest.php
+++ b/plugins/woocommerce/tests/php/src/Blocks/CoreBreadcrumbsCompatibilityTest.php
@@ -134,8 +134,6 @@ class CoreBreadcrumbsCompatibilityTest extends WC_Unit_Test_Case {
 	public function tearDown(): void {
 		global $wp;

-		remove_filter( 'woocommerce_is_account_page', '__return_true' );
-
 		update_option( 'woocommerce_shop_page_id', $this->original_shop_page_id );
 		update_option( 'woocommerce_myaccount_page_id', $this->original_myaccount_page_id );
 		update_option( 'woocommerce_permalinks', $this->original_woocommerce_permalinks );
diff --git a/plugins/woocommerce/tests/php/src/Blocks/Domain/Services/DeleteDraftOrders.php b/plugins/woocommerce/tests/php/src/Blocks/Domain/Services/DeleteDraftOrders.php
index 96634dcae1e..7e4a95c0c4e 100644
--- a/plugins/woocommerce/tests/php/src/Blocks/Domain/Services/DeleteDraftOrders.php
+++ b/plugins/woocommerce/tests/php/src/Blocks/Domain/Services/DeleteDraftOrders.php
@@ -121,7 +121,6 @@ class DeleteDraftOrders extends \WC_Unit_Test_Case {
 	 */
 	public function tearDown(): void {
 		$this->draft_orders_instance = null;
-		remove_action( 'woocommerce_caught_exception', array( $this, 'capture_exception' ) );
 		//restore original logging destination
 		ini_set('error_log', $this->original_logging_destination);
 		OrderHelper::toggle_cot_feature_and_usage( $this->previous_hpos_state );
diff --git a/plugins/woocommerce/tests/php/src/Blocks/StoreApi/Routes/AdditionalFields.php b/plugins/woocommerce/tests/php/src/Blocks/StoreApi/Routes/AdditionalFields.php
index 54f29efeae6..504c2060d73 100644
--- a/plugins/woocommerce/tests/php/src/Blocks/StoreApi/Routes/AdditionalFields.php
+++ b/plugins/woocommerce/tests/php/src/Blocks/StoreApi/Routes/AdditionalFields.php
@@ -135,9 +135,6 @@ class AdditionalFields extends \WP_Test_REST_TestCase {
 		unset( WC()->countries->locale );
 		WC()->cart->empty_cart();
 		WC()->session->destroy_session();
-		remove_all_filters( 'woocommerce_get_country_locale' );
-		remove_all_actions( 'doing_it_wrong_run' );
-		remove_filter( 'doing_it_wrong_trigger_error', '__return_false' );
 		$this->unregister_fields();
 		$this->restore_customer_additional_field_values();
 		parent::tearDown();
diff --git a/plugins/woocommerce/tests/php/src/Blocks/StoreApi/Routes/Checkout.php b/plugins/woocommerce/tests/php/src/Blocks/StoreApi/Routes/Checkout.php
index 0d02fac1dda..d135bf3d032 100644
--- a/plugins/woocommerce/tests/php/src/Blocks/StoreApi/Routes/Checkout.php
+++ b/plugins/woocommerce/tests/php/src/Blocks/StoreApi/Routes/Checkout.php
@@ -185,13 +185,6 @@ class Checkout extends \WP_Test_REST_TestCase {

 			remove_filter( 'woocommerce_set_cookie_enabled', array( $this, 'filter_woocommerce_set_cookie_enabled' ) );

-			remove_all_filters( 'woocommerce_get_country_locale' );
-			remove_all_filters( 'woocommerce_register_shop_order_post_statuses' );
-			remove_all_filters( 'wc_order_statuses' );
-			remove_all_actions( 'woocommerce_checkout_validate_order_before_payment' );
-			remove_all_actions( 'woocommerce_store_api_checkout_order_processed' );
-			remove_all_actions( 'woocommerce_valid_order_statuses_for_payment' );
-
 			update_option( 'woocommerce_ship_to_countries', 'all' );
 			update_option( 'woocommerce_allowed_countries', 'all' );
 			update_option( 'woocommerce_enable_guest_checkout', 'yes' );
diff --git a/plugins/woocommerce/tests/php/src/Blocks/StoreApi/Utilities/LocalPickupUtilsTest.php b/plugins/woocommerce/tests/php/src/Blocks/StoreApi/Utilities/LocalPickupUtilsTest.php
index d9bc14cf503..bb0df2dd301 100644
--- a/plugins/woocommerce/tests/php/src/Blocks/StoreApi/Utilities/LocalPickupUtilsTest.php
+++ b/plugins/woocommerce/tests/php/src/Blocks/StoreApi/Utilities/LocalPickupUtilsTest.php
@@ -47,9 +47,6 @@ class LocalPickupUtilsTest extends \WC_Unit_Test_Case {
 		// Restore original shipping methods.
 		WC()->shipping()->shipping_methods = $this->original_shipping_methods;

-		// Remove the filter.
-		remove_filter( 'pre_option_pickup_location_pickup_locations', array( $this, 'filter_pickup_locations' ) );
-
 		// Reset mocked value.
 		$this->mocked_pickup_locations = null;

diff --git a/plugins/woocommerce/tests/php/src/Blocks/Utils/BlocksSharedStateTest.php b/plugins/woocommerce/tests/php/src/Blocks/Utils/BlocksSharedStateTest.php
index 2c83029c7de..b9f55c7d1a8 100644
--- a/plugins/woocommerce/tests/php/src/Blocks/Utils/BlocksSharedStateTest.php
+++ b/plugins/woocommerce/tests/php/src/Blocks/Utils/BlocksSharedStateTest.php
@@ -29,7 +29,6 @@ class BlocksSharedStateTest extends \WC_Unit_Test_Case {
 	 * Tear down each test.
 	 */
 	public function tearDown(): void {
-		remove_all_filters( 'woocommerce_cart_contents_count' );
 		$this->reset_shared_state();
 		parent::tearDown();
 	}
diff --git a/plugins/woocommerce/tests/php/src/Gateways/PayPal/ButtonsTest.php b/plugins/woocommerce/tests/php/src/Gateways/PayPal/ButtonsTest.php
index 2031cce2aee..a376ec46990 100644
--- a/plugins/woocommerce/tests/php/src/Gateways/PayPal/ButtonsTest.php
+++ b/plugins/woocommerce/tests/php/src/Gateways/PayPal/ButtonsTest.php
@@ -82,9 +82,6 @@ class ButtonsTest extends \WC_Unit_Test_Case {
 		// phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
 		$post = $this->original_post;

-		// Remove any filters that might have been added.
-		remove_all_filters( 'woocommerce_is_checkout' );
-
 		parent::tearDown();
 	}

diff --git a/plugins/woocommerce/tests/php/src/Gateways/PayPal/WebhookHandlerTest.php b/plugins/woocommerce/tests/php/src/Gateways/PayPal/WebhookHandlerTest.php
index 576a7a95197..ef40211785f 100644
--- a/plugins/woocommerce/tests/php/src/Gateways/PayPal/WebhookHandlerTest.php
+++ b/plugins/woocommerce/tests/php/src/Gateways/PayPal/WebhookHandlerTest.php
@@ -54,7 +54,6 @@ class WebhookHandlerTest extends \WC_Unit_Test_Case {
 	 * @return void
 	 */
 	public function tearDown(): void {
-		remove_filter( 'pre_http_request', array( $this, 'mock_paypal_http_response' ) );
 		$this->webhook_handler = null;
 		$this->mock_request    = null;
 		parent::tearDown();
diff --git a/plugins/woocommerce/tests/php/src/Gateways/ShippingMethodRestrictionsTraitTest.php b/plugins/woocommerce/tests/php/src/Gateways/ShippingMethodRestrictionsTraitTest.php
index 6e2d12774ed..9475b3055c0 100644
--- a/plugins/woocommerce/tests/php/src/Gateways/ShippingMethodRestrictionsTraitTest.php
+++ b/plugins/woocommerce/tests/php/src/Gateways/ShippingMethodRestrictionsTraitTest.php
@@ -75,7 +75,6 @@ class ShippingMethodRestrictionsTraitTest extends WC_Unit_Test_Case {
 		try {
 			$this->set_order_pay_query_var( null );
 			set_query_var( 'wc-ajax', '' );
-			remove_all_actions( 'wc_ajax_shipping_restrictions_test' );
 			WC()->session->set( 'chosen_shipping_methods', null );
 			WC_Cache_Helper::get_transient_version( 'shipping', true );
 			WC()->shipping()->enabled = $this->shipping_was_enabled;
diff --git a/plugins/woocommerce/tests/php/src/Internal/Abilities/AbilitiesLoaderTest.php b/plugins/woocommerce/tests/php/src/Internal/Abilities/AbilitiesLoaderTest.php
index 415a9c556df..8516e1aabe6 100644
--- a/plugins/woocommerce/tests/php/src/Internal/Abilities/AbilitiesLoaderTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/Abilities/AbilitiesLoaderTest.php
@@ -189,7 +189,6 @@ class AbilitiesLoaderTest extends \WC_Unit_Test_Case {
 			}

 			$this->toggle_cot_feature_and_usage( $this->original_cot_state );
-			remove_filter( 'wc_allow_changing_orders_storage_while_sync_is_pending', '__return_true' );
 		}

 		wp_set_current_user( 0 );
diff --git a/plugins/woocommerce/tests/php/src/Internal/Abilities/Domain/OrdersQueryTest.php b/plugins/woocommerce/tests/php/src/Internal/Abilities/Domain/OrdersQueryTest.php
index abc74f34a48..1bac5f56a8b 100644
--- a/plugins/woocommerce/tests/php/src/Internal/Abilities/Domain/OrdersQueryTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/Abilities/Domain/OrdersQueryTest.php
@@ -54,7 +54,6 @@ class OrdersQueryTest extends WC_Unit_Test_Case {
 				$this->original_hpos = null;
 			}
 		} finally {
-			remove_filter( 'wc_allow_changing_orders_storage_while_sync_is_pending', '__return_true' );
 			parent::tearDown();
 		}
 	}
diff --git a/plugins/woocommerce/tests/php/src/Internal/AbilitiesApi/ExtensibleAbilitiesTest.php b/plugins/woocommerce/tests/php/src/Internal/AbilitiesApi/ExtensibleAbilitiesTest.php
index 3b512e45a2f..c885dd7d848 100644
--- a/plugins/woocommerce/tests/php/src/Internal/AbilitiesApi/ExtensibleAbilitiesTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/AbilitiesApi/ExtensibleAbilitiesTest.php
@@ -49,13 +49,6 @@ class ExtensibleAbilitiesTest extends \WC_REST_Unit_Test_Case {
 	 */
 	private $original_init_count;

-	/**
-	 * Actions that a test added, removed in tearDown.
-	 *
-	 * @var array<int, array{0: string, 1: callable, 2: int}>
-	 */
-	private $test_actions = array();
-
 	/**
 	 * Create immutable class fixtures.
 	 *
@@ -102,12 +95,6 @@ class ExtensibleAbilitiesTest extends \WC_REST_Unit_Test_Case {
 	public function tearDown(): void {
 		global $wp_actions;

-		remove_action( 'woocommerce_extensible_abilities_init', array( $this, 'register_test_fields' ) );
-		remove_action( 'woocommerce_extensible_abilities_init', array( $this, 'register_test_filters' ) );
-		foreach ( $this->test_actions as list( $hook, $callback, $priority ) ) {
-			remove_action( $hook, $callback, $priority );
-		}
-		$this->test_actions = array();
 		$this->set_feature( false );
 		$this->reset_registries();
 		wp_set_current_user( 0 );
@@ -5830,7 +5817,7 @@ class ExtensibleAbilitiesTest extends \WC_REST_Unit_Test_Case {
 	}

 	/**
-	 * Add a filter and remove it in tearDown.
+	 * Add a filter.
 	 *
 	 * @param string   $hook          Hook name.
 	 * @param callable $callback      Callback.
@@ -5839,11 +5826,10 @@ class ExtensibleAbilitiesTest extends \WC_REST_Unit_Test_Case {
 	 */
 	private function add_test_filter( string $hook, callable $callback, int $priority = 10, int $accepted_args = 1 ): void {
 		add_filter( $hook, $callback, $priority, $accepted_args );
-		$this->test_actions[] = array( $hook, $callback, $priority );
 	}

 	/**
-	 * Add an action that tearDown removes.
+	 * Add an action.
 	 *
 	 * @param string   $hook     Action name.
 	 * @param callable $callback Callback.
@@ -5852,7 +5838,6 @@ class ExtensibleAbilitiesTest extends \WC_REST_Unit_Test_Case {
 	 */
 	private function add_test_action( string $hook, callable $callback, int $priority = 10, int $accepted_args = 1 ): void {
 		add_action( $hook, $callback, $priority, $accepted_args );
-		$this->test_actions[] = array( $hook, $callback, $priority );
 	}

 	/**
diff --git a/plugins/woocommerce/tests/php/src/Internal/Admin/Emails/EmailListingRestControllerTest.php b/plugins/woocommerce/tests/php/src/Internal/Admin/Emails/EmailListingRestControllerTest.php
index 83315dcd5c7..dfb69e98576 100644
--- a/plugins/woocommerce/tests/php/src/Internal/Admin/Emails/EmailListingRestControllerTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/Admin/Emails/EmailListingRestControllerTest.php
@@ -84,8 +84,6 @@ class EmailListingRestControllerTest extends WC_Unit_Test_Case {
 			$this->injected_email_keys = array();
 		}

-		remove_all_filters( 'woocommerce_email_block_template_html' );
-		remove_all_filters( 'woocommerce_transactional_emails_for_block_editor' );
 		$this->posts_manager->clear_caches();
 		WCEmailTemplateSyncRegistry::reset_cache();
 		update_option( 'woocommerce_feature_block_email_editor_enabled', 'no' );
diff --git a/plugins/woocommerce/tests/php/src/Internal/Admin/Notes/ExtensionsWithoutSubscriptionTest.php b/plugins/woocommerce/tests/php/src/Internal/Admin/Notes/ExtensionsWithoutSubscriptionTest.php
index 993b47a8783..dfc24a8a2f8 100644
--- a/plugins/woocommerce/tests/php/src/Internal/Admin/Notes/ExtensionsWithoutSubscriptionTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/Admin/Notes/ExtensionsWithoutSubscriptionTest.php
@@ -23,13 +23,6 @@ class ExtensionsWithoutSubscriptionTest extends WC_Unit_Test_Case {
 	 */
 	private $sut;

-	/**
-	 * Filter standing in for WooCommerce.com, removed on tear down.
-	 *
-	 * @var callable|null
-	 */
-	private $http_filter;
-
 	/**
 	 * Set up test fixtures.
 	 */
@@ -49,9 +42,6 @@ class ExtensionsWithoutSubscriptionTest extends WC_Unit_Test_Case {
 			unset( $_GET['page'], $_GET['wc-helper-status'] );
 			WC_Helper::flush_local_woo_products_cache();
 			$this->reset_current_page();
-			if ( $this->http_filter ) {
-				remove_filter( 'pre_http_request', $this->http_filter );
-			}
 		} finally {
 			parent::tearDown();
 		}
@@ -372,7 +362,7 @@ class ExtensionsWithoutSubscriptionTest extends WC_Unit_Test_Case {
 	private function mock_subscription_requests(): object {
 		$requests = (object) array( 'count' => 0 );

-		$this->http_filter = static function ( $preempt, $args, $url ) use ( $requests ) {
+		$http_filter = static function ( $preempt, $args, $url ) use ( $requests ) {
 			if ( false === strpos( $url, '/subscriptions' ) ) {
 				return $preempt;
 			}
@@ -386,7 +376,7 @@ class ExtensionsWithoutSubscriptionTest extends WC_Unit_Test_Case {
 				'body'     => '[]',
 			);
 		};
-		add_filter( 'pre_http_request', $this->http_filter, 10, 3 );
+		add_filter( 'pre_http_request', $http_filter, 10, 3 );

 		return $requests;
 	}
diff --git a/plugins/woocommerce/tests/php/src/Internal/Admin/OrderMilestoneEasterEggTest.php b/plugins/woocommerce/tests/php/src/Internal/Admin/OrderMilestoneEasterEggTest.php
index 3b5aabcbedf..be3c1847832 100644
--- a/plugins/woocommerce/tests/php/src/Internal/Admin/OrderMilestoneEasterEggTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/Admin/OrderMilestoneEasterEggTest.php
@@ -76,14 +76,6 @@ class OrderMilestoneEasterEggTest extends \WC_Unit_Test_Case {
 	public function tearDown(): void {
 		delete_option( $this->get_cache_option_name() );
 		delete_option( $this->get_complete_option_name() );
-		remove_action( 'admin_enqueue_scripts', array( $this->sut, 'handle_admin_enqueue_scripts' ) );
-		remove_action( 'wp_ajax_wc_egg_dismiss', array( $this->sut, 'handle_ajax_dismiss' ) );
-		remove_action( 'wp_ajax_wc_egg_opt_out', array( $this->sut, 'handle_ajax_opt_out' ) );
-		remove_action( 'woocommerce_new_order', array( $this->sut, 'clear_milestone_cache' ) );
-		remove_action( 'woocommerce_update_order', array( $this->sut, 'clear_milestone_cache' ) );
-		remove_action( 'woocommerce_delete_order', array( $this->sut, 'clear_milestone_cache' ) );
-		remove_action( 'woocommerce_trash_order', array( $this->sut, 'clear_milestone_cache' ) );
-		remove_all_filters( 'wc_order_milestone_egg_map' );

 		wp_set_current_user( 0 );
 		parent::tearDown();
diff --git a/plugins/woocommerce/tests/php/src/Internal/Admin/Orders/MetaBoxes/CustomerHistoryTest.php b/plugins/woocommerce/tests/php/src/Internal/Admin/Orders/MetaBoxes/CustomerHistoryTest.php
index 0666e97d162..9df6a510cfd 100644
--- a/plugins/woocommerce/tests/php/src/Internal/Admin/Orders/MetaBoxes/CustomerHistoryTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/Admin/Orders/MetaBoxes/CustomerHistoryTest.php
@@ -37,19 +37,12 @@ class CustomerHistoryTest extends WC_Unit_Test_Case {
 	private bool $restore_hpos_after_test = false;

 	/**
-	 * Callback registering the long custom status, kept for removal in tearDown.
+	 * Callback registering the long custom status, set when a test registers it.
 	 *
 	 * @var callable|null
 	 */
 	private $add_long_status_callback = null;

-	/**
-	 * Filters added during a test, as [ tag, callback ] pairs, removed in tearDown().
-	 *
-	 * @var array[]
-	 */
-	private $added_filters = array();
-
 	/**
 	 * Previous HPOS state.
 	 *
@@ -109,12 +102,7 @@ class CustomerHistoryTest extends WC_Unit_Test_Case {
 		}

 		delete_option( 'woocommerce_excluded_report_order_statuses' );
-		foreach ( $this->added_filters as $added_filter ) {
-			remove_filter( $added_filter[0], $added_filter[1] );
-		}
-		$this->added_filters = array();
 		if ( null !== $this->add_long_status_callback ) {
-			remove_filter( 'wc_order_statuses', $this->add_long_status_callback );
 			unset( $GLOBALS['wp_post_statuses']['wc-competition-completed'] );
 			$this->add_long_status_callback = null;
 		}
@@ -933,8 +921,6 @@ class CustomerHistoryTest extends WC_Unit_Test_Case {
 		};
 		add_filter( 'wc_order_statuses', $add_label );
 		add_filter( 'woocommerce_analytics_settings_default_excluded_order_statuses', $add_custom );
-		$this->added_filters[] = array( 'wc_order_statuses', $add_label );
-		$this->added_filters[] = array( 'woocommerce_analytics_settings_default_excluded_order_statuses', $add_custom );

 		$customer_id = $this->factory->user->create();

diff --git a/plugins/woocommerce/tests/php/src/Internal/Admin/RemoteFreeExtensions/InitTest.php b/plugins/woocommerce/tests/php/src/Internal/Admin/RemoteFreeExtensions/InitTest.php
index ce12e67199e..df1e908a917 100644
--- a/plugins/woocommerce/tests/php/src/Internal/Admin/RemoteFreeExtensions/InitTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/Admin/RemoteFreeExtensions/InitTest.php
@@ -96,9 +96,6 @@ class InitTest extends WC_Unit_Test_Case {
 	public function tearDown(): void {
 		try {
 			if ( $this->fixture_setup_started ) {
-				if ( null !== $this->specs_transient_filter ) {
-					remove_filter( 'transient_' . $this->get_specs_transient_name(), $this->specs_transient_filter );
-				}
 				RemoteFreeExtensions::delete_specs_transient();
 			}
 		} finally {
diff --git a/plugins/woocommerce/tests/php/src/Internal/Admin/Settings/SettingsUIFeatureFlagTest.php b/plugins/woocommerce/tests/php/src/Internal/Admin/Settings/SettingsUIFeatureFlagTest.php
index 7ce9b6d8351..b046a9433b6 100644
--- a/plugins/woocommerce/tests/php/src/Internal/Admin/Settings/SettingsUIFeatureFlagTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/Admin/Settings/SettingsUIFeatureFlagTest.php
@@ -123,8 +123,6 @@ class SettingsUIFeatureFlagTest extends WC_Unit_Test_Case {
 			unset( $GLOBALS['hide_save_button'] );
 		}

-		remove_filter( 'woocommerce_admin_features', array( $this, 'enable_settings_ui_feature' ) );
-		remove_filter( 'woocommerce_admin_features', array( $this, 'disable_settings_ui_feature' ) );
 		wp_dequeue_style( 'wc-settings-ui' );
 		wp_deregister_style( 'wc-settings-ui' );
 		wp_dequeue_script( 'settings-ui-counting-handle' );
diff --git a/plugins/woocommerce/tests/php/src/Internal/Admin/SettingsTest.php b/plugins/woocommerce/tests/php/src/Internal/Admin/SettingsTest.php
index a21bc0013e1..484f4aabced 100644
--- a/plugins/woocommerce/tests/php/src/Internal/Admin/SettingsTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/Admin/SettingsTest.php
@@ -22,13 +22,6 @@ class SettingsTest extends WC_Unit_Test_Case {
 	 */
 	private $sut;

-	/**
-	 * Filter hooks added during a test, as [ tag, callback ] pairs, removed again in tearDown().
-	 *
-	 * @var array[]
-	 */
-	private $added_filters = array();
-
 	/**
 	 * Set up test fixtures.
 	 */
@@ -37,17 +30,6 @@ class SettingsTest extends WC_Unit_Test_Case {
 		$this->sut = Settings::get_instance();
 	}

-	/**
-	 * Tear down test fixtures.
-	 */
-	public function tearDown(): void {
-		foreach ( $this->added_filters as $added_filter ) {
-			remove_filter( $added_filter[0], $added_filter[1] );
-		}
-		$this->added_filters = array();
-		parent::tearDown();
-	}
-
 	/**
 	 * @testdox Should register the date type setting with a 'date_paid' default, matching the reports data stores.
 	 */
@@ -158,7 +140,6 @@ class SettingsTest extends WC_Unit_Test_Case {
 	 */
 	public function test_default_order_statuses_filter_all_unknown_falls_back(): void {
 		add_filter( 'woocommerce_analytics_settings_default_excluded_order_statuses', array( $this, 'return_only_unknown_statuses' ) );
-		$this->added_filters[] = array( 'woocommerce_analytics_settings_default_excluded_order_statuses', array( $this, 'return_only_unknown_statuses' ) );

 		$settings = $this->sut->add_settings( array() );
 		$setting  = $this->find_setting( $settings, 'woocommerce_excluded_report_order_statuses' );
@@ -182,7 +163,6 @@ class SettingsTest extends WC_Unit_Test_Case {
 	 */
 	public function test_default_order_statuses_filter_invalid_type_falls_back(): void {
 		add_filter( 'woocommerce_analytics_settings_default_excluded_order_statuses', '__return_false' );
-		$this->added_filters[] = array( 'woocommerce_analytics_settings_default_excluded_order_statuses', '__return_false' );

 		$settings = $this->sut->add_settings( array() );
 		$setting  = $this->find_setting( $settings, 'woocommerce_excluded_report_order_statuses' );
@@ -191,14 +171,12 @@ class SettingsTest extends WC_Unit_Test_Case {
 	}

 	/**
-	 * Hook the shared filter callback and track it for removal in tearDown().
+	 * Hook the shared filter callback.
 	 *
 	 * @param string $filter Filter tag to hook.
 	 */
 	private function add_default_status_filter( string $filter ): void {
-		$callback = array( $this, 'add_status_to_defaults' );
-		add_filter( $filter, $callback );
-		$this->added_filters[] = array( $filter, $callback );
+		add_filter( $filter, array( $this, 'add_status_to_defaults' ) );
 	}

 	/**
@@ -283,7 +261,6 @@ class SettingsTest extends WC_Unit_Test_Case {
 			return array();
 		};
 		add_filter( 'woocommerce_analytics_settings_default_excluded_order_statuses', $empty_filter );
-		$this->added_filters[] = array( 'woocommerce_analytics_settings_default_excluded_order_statuses', $empty_filter );

 		$settings = $this->sut->add_settings( array() );
 		$setting  = $this->find_setting( $settings, 'woocommerce_excluded_report_order_statuses' );
@@ -320,7 +297,6 @@ class SettingsTest extends WC_Unit_Test_Case {
 			return $types;
 		};
 		add_filter( 'woocommerce_coupon_discount_types', $add_type );
-		$this->added_filters[] = array( 'woocommerce_coupon_discount_types', $add_type );
 		// Coupon types are only injected on wc-admin pages; the base tearDown unsets the current screen.
 		set_current_screen( 'dashboard' );
 		$_GET['page'] = 'wc-admin'; // phpcs:ignore WordPress.Security.NonceVerification.Recommended
@@ -397,7 +373,6 @@ class SettingsTest extends WC_Unit_Test_Case {
 			return array( 'not-a-real-status' );
 		};
 		add_filter( 'woocommerce_analytics_settings_default_excluded_order_statuses', $callback );
-		$this->added_filters[] = array( 'woocommerce_analytics_settings_default_excluded_order_statuses', $callback );

 		$setting = $this->find_setting( $this->get_wc_admin_group_settings(), 'woocommerce_excluded_report_order_statuses' );
 		$this->assertSame( array( 'pending', 'cancelled', 'failed' ), $setting['default'], 'The page should fall back to the built-in default.' );
@@ -415,7 +390,6 @@ class SettingsTest extends WC_Unit_Test_Case {
 			return array_merge( $statuses, array( 'not-a-real-status' ) );
 		};
 		add_filter( 'woocommerce_analytics_settings_default_actionable_order_statuses', $callback );
-		$this->added_filters[] = array( 'woocommerce_analytics_settings_default_actionable_order_statuses', $callback );
 		update_option( 'woocommerce_actionable_order_statuses', array( 'processing' ) );

 		$setting = $this->find_setting( $this->get_wc_admin_group_settings(), 'woocommerce_actionable_order_statuses' );
diff --git a/plugins/woocommerce/tests/php/src/Internal/Admin/ShippingPartnerSuggestions/ShippingPartnerSuggestionsTest.php b/plugins/woocommerce/tests/php/src/Internal/Admin/ShippingPartnerSuggestions/ShippingPartnerSuggestionsTest.php
index 2c801af4def..0ae3d95b84d 100644
--- a/plugins/woocommerce/tests/php/src/Internal/Admin/ShippingPartnerSuggestions/ShippingPartnerSuggestionsTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/Admin/ShippingPartnerSuggestions/ShippingPartnerSuggestionsTest.php
@@ -80,7 +80,6 @@ class ShippingPartnerSuggestionsTest extends WC_Unit_Test_Case {
 	 */
 	public function tearDown(): void {
 		ShippingPartnerSuggestionsDataSourcePoller::get_instance()->delete_specs_transient();
-		remove_all_filters( 'transient_woocommerce_admin_' . ShippingPartnerSuggestionsDataSourcePoller::ID . '_specs' );
 		update_option( 'woocommerce_default_country', 'US' );

 		parent::tearDown();
diff --git a/plugins/woocommerce/tests/php/src/Internal/Admin/Suggestions/Incentives/WooPaymentsTest.php b/plugins/woocommerce/tests/php/src/Internal/Admin/Suggestions/Incentives/WooPaymentsTest.php
index 25e57ec3df1..bf6d0c271cd 100644
--- a/plugins/woocommerce/tests/php/src/Internal/Admin/Suggestions/Incentives/WooPaymentsTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/Admin/Suggestions/Incentives/WooPaymentsTest.php
@@ -134,8 +134,6 @@ class WooPaymentsTest extends WC_Unit_Test_Case {
 	 * Tear down.
 	 */
 	public function tearDown(): void {
-		remove_all_filters( 'pre_http_request' );
-
 		delete_option( self::HAD_WOOPAYMENTS_OPTION );
 		delete_option( self::HAD_WOOPAYMENTS_VERSION_OPTION );
 		delete_option( 'wcpay_account_data' );
diff --git a/plugins/woocommerce/tests/php/src/Internal/Admin/TranslationsTest.php b/plugins/woocommerce/tests/php/src/Internal/Admin/TranslationsTest.php
index a0d92202675..8860a5c6a9d 100644
--- a/plugins/woocommerce/tests/php/src/Internal/Admin/TranslationsTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/Admin/TranslationsTest.php
@@ -55,8 +55,6 @@ class TranslationsTest extends WC_Unit_Test_Case {
 	 * Tear down test fixtures.
 	 */
 	public function tearDown(): void {
-		remove_filter( 'pre_determine_locale', array( $this, 'force_de_locale' ) );
-
 		$combined = $this->lang_dir . 'woocommerce-de_DE-' . WC_ADMIN_APP . '.json';
 		if ( file_exists( $combined ) ) {
 			wp_delete_file( $combined );
diff --git a/plugins/woocommerce/tests/php/src/Internal/Admin/WCAdminAssetsTest.php b/plugins/woocommerce/tests/php/src/Internal/Admin/WCAdminAssetsTest.php
index 8ff503948a6..cdc3b758cca 100644
--- a/plugins/woocommerce/tests/php/src/Internal/Admin/WCAdminAssetsTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/Admin/WCAdminAssetsTest.php
@@ -31,8 +31,6 @@ class WCAdminAssetsTest extends WC_Unit_Test_Case {
 	 * Tear down test fixtures.
 	 */
 	public function tearDown(): void {
-		remove_filter( 'woocommerce_admin_features', array( $this, 'enable_minified_js_feature' ), 20 );
-
 		if ( $this->temp_min_file && file_exists( $this->temp_min_file ) ) {
 			wp_delete_file( $this->temp_min_file );
 			$this->temp_min_file = null;
diff --git a/plugins/woocommerce/tests/php/src/Internal/Admin/WCPayPromotion/InitTest.php b/plugins/woocommerce/tests/php/src/Internal/Admin/WCPayPromotion/InitTest.php
index cfe7b606f69..275c2401fff 100644
--- a/plugins/woocommerce/tests/php/src/Internal/Admin/WCPayPromotion/InitTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/Admin/WCPayPromotion/InitTest.php
@@ -47,7 +47,6 @@ class InitTest extends WC_Unit_Test_Case {
 	 */
 	public function tearDown(): void {
 		WCPayPromotion::delete_specs_transient();
-		remove_all_filters( 'transient_woocommerce_admin_' . WCPayPromotionDataSourcePoller::ID . '_specs' );
 		update_option( 'woocommerce_default_country', 'US' );

 		parent::tearDown();
diff --git a/plugins/woocommerce/tests/php/src/Internal/AgentReadiness/RemoteRulesTest.php b/plugins/woocommerce/tests/php/src/Internal/AgentReadiness/RemoteRulesTest.php
index cb6afdc18af..ccdba2d4a42 100644
--- a/plugins/woocommerce/tests/php/src/Internal/AgentReadiness/RemoteRulesTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/AgentReadiness/RemoteRulesTest.php
@@ -56,7 +56,6 @@ class RemoteRulesTest extends WC_Unit_Test_Case {
 	 * Tear down test fixtures.
 	 */
 	public function tearDown(): void {
-		remove_filter( 'pre_http_request', array( $this, 'answer_request' ), 10 );
 		delete_option( RemoteRules::OPTION );
 		parent::tearDown();
 	}
diff --git a/plugins/woocommerce/tests/php/src/Internal/CLI/Migrator/Core/WooCommerceProductImporterTest.php b/plugins/woocommerce/tests/php/src/Internal/CLI/Migrator/Core/WooCommerceProductImporterTest.php
index f976a6f80ae..f54011acb68 100644
--- a/plugins/woocommerce/tests/php/src/Internal/CLI/Migrator/Core/WooCommerceProductImporterTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/CLI/Migrator/Core/WooCommerceProductImporterTest.php
@@ -62,11 +62,9 @@ class WooCommerceProductImporterTest extends \WC_Unit_Test_Case {
 	}

 	/**
-	 * Remove owned upload files and HTTP interception.
+	 * Remove owned upload files.
 	 */
 	public function tearDown(): void {
-		remove_filter( 'pre_http_request', array( $this, 'provide_local_image_response' ), 10 );
-
 		try {
 			try {
 				global $wpdb;
diff --git a/plugins/woocommerce/tests/php/src/Internal/CLI/Migrator/Platforms/Shopify/ShopifyPlatformTest.php b/plugins/woocommerce/tests/php/src/Internal/CLI/Migrator/Platforms/Shopify/ShopifyPlatformTest.php
index 0c1d9f5f2b0..df420f1c95a 100644
--- a/plugins/woocommerce/tests/php/src/Internal/CLI/Migrator/Platforms/Shopify/ShopifyPlatformTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/CLI/Migrator/Platforms/Shopify/ShopifyPlatformTest.php
@@ -28,15 +28,6 @@ class ShopifyPlatformTest extends \WC_Unit_Test_Case {
 		ShopifyPlatform::init();
 	}

-	/**
-	 * Clean up after each test.
-	 */
-	public function tearDown(): void {
-		parent::tearDown();
-		// Remove all filters to ensure clean state.
-		remove_all_filters( 'woocommerce_migrator_platforms' );
-	}
-
 	/**
 	 * Test that the Shopify platform is registered correctly.
 	 */
diff --git a/plugins/woocommerce/tests/php/src/Internal/CLI/Migrator/Platforms/Webflow/WebflowClientTest.php b/plugins/woocommerce/tests/php/src/Internal/CLI/Migrator/Platforms/Webflow/WebflowClientTest.php
index 164822ade7b..25c35883059 100644
--- a/plugins/woocommerce/tests/php/src/Internal/CLI/Migrator/Platforms/Webflow/WebflowClientTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/CLI/Migrator/Platforms/Webflow/WebflowClientTest.php
@@ -35,19 +35,11 @@ class WebflowClientTest extends WC_Unit_Test_Case {
 	 */
 	private WebflowClient $client;

-	/**
-	 * HTTP filter callbacks registered during the test, removed in tearDown.
-	 *
-	 * @var array<callable>
-	 */
-	private array $http_filters = array();
-
 	/**
 	 * Set up test fixtures.
 	 */
 	public function setUp(): void {
 		parent::setUp();
-		$this->http_filters     = array();
 		$this->test_credentials = array(
 			'site_id'      => 'site-123',
 			'access_token' => 'ws-test-token',
@@ -55,17 +47,6 @@ class WebflowClientTest extends WC_Unit_Test_Case {
 		$this->client           = new WebflowClient( $this->test_credentials );
 	}

-	/**
-	 * Tear down test fixtures.
-	 */
-	public function tearDown(): void {
-		foreach ( $this->http_filters as $cb ) {
-			remove_filter( 'pre_http_request', $cb );
-		}
-		$this->http_filters = array();
-		parent::tearDown();
-	}
-
 	/**
 	 * Test that a successful REST request returns the decoded body.
 	 */
@@ -246,13 +227,12 @@ class WebflowClientTest extends WC_Unit_Test_Case {
 	}

 	/**
-	 * Register a pre_http_request filter and track it for cleanup.
+	 * Register a pre_http_request filter.
 	 *
 	 * @param callable $callback   Filter callback.
 	 * @param int      $args_count Number of accepted arguments (default 1).
 	 */
 	private function add_http_filter( callable $callback, int $args_count = 1 ): void {
 		add_filter( 'pre_http_request', $callback, 10, $args_count );
-		$this->http_filters[] = $callback;
 	}
 }
diff --git a/plugins/woocommerce/tests/php/src/Internal/CLI/Migrator/Platforms/Webflow/WebflowFetcherTest.php b/plugins/woocommerce/tests/php/src/Internal/CLI/Migrator/Platforms/Webflow/WebflowFetcherTest.php
index 743cc720bd2..fecb55b4056 100644
--- a/plugins/woocommerce/tests/php/src/Internal/CLI/Migrator/Platforms/Webflow/WebflowFetcherTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/CLI/Migrator/Platforms/Webflow/WebflowFetcherTest.php
@@ -31,20 +31,12 @@ class WebflowFetcherTest extends WC_Unit_Test_Case {
 	 */
 	private WebflowFetcher $fetcher;

-	/**
-	 * HTTP filter callbacks registered during the test, removed in tearDown.
-	 *
-	 * @var array<callable>
-	 */
-	private array $http_filters = array();
-
 	/**
 	 * Set up test fixtures.
 	 */
 	public function setUp(): void {
 		parent::setUp();
-		$this->http_filters = array();
-		$this->fetcher      = new WebflowFetcher(
+		$this->fetcher = new WebflowFetcher(
 			array(
 				'site_id'      => 'site-123',
 				'access_token' => 'ws-test-token',
@@ -52,17 +44,6 @@ class WebflowFetcherTest extends WC_Unit_Test_Case {
 		);
 	}

-	/**
-	 * Tear down test fixtures.
-	 */
-	public function tearDown(): void {
-		foreach ( $this->http_filters as $cb ) {
-			remove_filter( 'pre_http_request', $cb );
-		}
-		$this->http_filters = array();
-		parent::tearDown();
-	}
-
 	/**
 	 * Test that WebflowFetcher implements the platform fetcher interface.
 	 */
@@ -94,7 +75,6 @@ class WebflowFetcherTest extends WC_Unit_Test_Case {
 		};

 		add_filter( 'pre_http_request', $cb, 10, 3 );
-		$this->http_filters[] = $cb;
 	}

 	/**
@@ -139,7 +119,6 @@ class WebflowFetcherTest extends WC_Unit_Test_Case {
 		};

 		add_filter( 'pre_http_request', $cb, 10, 3 );
-		$this->http_filters[] = $cb;

 		$this->fetcher->fetch_batch(
 			array(
@@ -270,7 +249,6 @@ class WebflowFetcherTest extends WC_Unit_Test_Case {
 			);
 		};
 		add_filter( 'pre_http_request', $cb, 10, 3 );
-		$this->http_filters[] = $cb;

 		$this->fetcher->fetch_batch( array( 'limit' => 2 ) );
 		$this->fetcher->fetch_batch(
@@ -321,7 +299,6 @@ class WebflowFetcherTest extends WC_Unit_Test_Case {
 			);
 		};
 		add_filter( 'pre_http_request', $cb, 10, 3 );
-		$this->http_filters[] = $cb;

 		$result = $this->fetcher->fetch_batch( array( 'limit' => 2 ) );

diff --git a/plugins/woocommerce/tests/php/src/Internal/Caches/VersionStringGeneratorTest.php b/plugins/woocommerce/tests/php/src/Internal/Caches/VersionStringGeneratorTest.php
index 572664a168a..7e89867ce46 100644
--- a/plugins/woocommerce/tests/php/src/Internal/Caches/VersionStringGeneratorTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/Caches/VersionStringGeneratorTest.php
@@ -45,7 +45,6 @@ class VersionStringGeneratorTest extends WC_Unit_Test_Case {
 	 */
 	public function tearDown(): void {
 		$this->restore_object_cache();
-		remove_all_filters( 'woocommerce_version_string_generator_ttl' );
 		$this->sut = null;
 		parent::tearDown();
 	}
diff --git a/plugins/woocommerce/tests/php/src/Internal/DataStores/Orders/HposOrderCapabilityHelperTest.php b/plugins/woocommerce/tests/php/src/Internal/DataStores/Orders/HposOrderCapabilityHelperTest.php
index ab5ee8dc4ce..2a1bb1bdc16 100644
--- a/plugins/woocommerce/tests/php/src/Internal/DataStores/Orders/HposOrderCapabilityHelperTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/DataStores/Orders/HposOrderCapabilityHelperTest.php
@@ -57,7 +57,6 @@ class HposOrderCapabilityHelperTest extends WC_Unit_Test_Case {
 		}
 		$this->custom_roles = array();

-		remove_filter( 'wc_order_statuses', array( $this, 'add_private_test_order_status' ) );
 		$this->unregister_private_test_order_status();
 		$this->clean_up_cot_setup();
 		parent::tearDown();
diff --git a/plugins/woocommerce/tests/php/src/Internal/DataStores/Orders/LegacyDataCleanupTests.php b/plugins/woocommerce/tests/php/src/Internal/DataStores/Orders/LegacyDataCleanupTests.php
index 7a423c10bd5..d43d2717eea 100644
--- a/plugins/woocommerce/tests/php/src/Internal/DataStores/Orders/LegacyDataCleanupTests.php
+++ b/plugins/woocommerce/tests/php/src/Internal/DataStores/Orders/LegacyDataCleanupTests.php
@@ -46,7 +46,6 @@ class LegacyDataCleanupTests extends \WC_Unit_Test_Case {
 	public function tearDown(): void {
 		try {
 			$this->clean_up_cot_setup();
-			remove_all_filters( 'wc_allow_changing_orders_storage_while_sync_is_pending' );
 		} finally {
 			parent::tearDown();
 		}
diff --git a/plugins/woocommerce/tests/php/src/Internal/Email/DeferredEmailQueueTest.php b/plugins/woocommerce/tests/php/src/Internal/Email/DeferredEmailQueueTest.php
index c4c423366fd..224ab7cbf75 100644
--- a/plugins/woocommerce/tests/php/src/Internal/Email/DeferredEmailQueueTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/Email/DeferredEmailQueueTest.php
@@ -29,13 +29,6 @@ class DeferredEmailQueueTest extends WC_Unit_Test_Case {
 	 */
 	private $created_stock_notification_ids = array();

-	/**
-	 * Locale filters added by a test, as hook name, callback and priority.
-	 *
-	 * @var array<int, array{0: string, 1: callable, 2: int}>
-	 */
-	private $locale_filters = array();
-
 	/**
 	 * Set up test fixtures.
 	 */
@@ -56,19 +49,6 @@ class DeferredEmailQueueTest extends WC_Unit_Test_Case {
 	 * Tear down test fixtures.
 	 */
 	public function tearDown(): void {
-		remove_all_filters( 'woocommerce_queue_class' );
-		remove_all_filters( 'woocommerce_allow_send_queued_transactional_email' );
-		remove_all_actions( 'woocommerce_send_queued_transactional_email' );
-		remove_all_actions( 'woocommerce_deferred_email_test_unknown_object' );
-		remove_all_actions( 'woocommerce_deferred_email_test_unknown_object_notification' );
-		remove_all_actions( 'woocommerce_deferred_email_test_unsaved_product' );
-		remove_all_actions( 'woocommerce_deferred_email_test_unsaved_product_notification' );
-		remove_all_filters( 'woocommerce_mail_callback' );
-		remove_all_filters( 'woocommerce_allow_switching_email_locale' );
-		foreach ( $this->locale_filters as list( $hook, $callback, $priority ) ) {
-			remove_filter( $hook, $callback, $priority );
-		}
-		$this->locale_filters = array();
 		if ( is_locale_switched() ) {
 			restore_current_locale();
 		}
@@ -723,7 +703,6 @@ class DeferredEmailQueueTest extends WC_Unit_Test_Case {
 		};

 		add_filter( $hook, $callback, $priority );
-		$this->locale_filters[] = array( $hook, $callback, $priority );
 	}

 	/**
diff --git a/plugins/woocommerce/tests/php/src/Internal/EmailEditor/TransactionalEmailPersonalizerTest.php b/plugins/woocommerce/tests/php/src/Internal/EmailEditor/TransactionalEmailPersonalizerTest.php
index c4c5b99d496..21e0a18d6ea 100644
--- a/plugins/woocommerce/tests/php/src/Internal/EmailEditor/TransactionalEmailPersonalizerTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/EmailEditor/TransactionalEmailPersonalizerTest.php
@@ -34,7 +34,6 @@ class TransactionalEmailPersonalizerTest extends WC_Unit_Test_Case {
 	 * Tear down test fixtures.
 	 */
 	public function tearDown(): void {
-		remove_all_filters( 'woocommerce_email_editor_integration_personalizer_context_data' );
 		Email_Editor_Container::container()->get( Personalization_Tags_Registry::class )->unregister( '[test/text-tag]' );
 		parent::tearDown();
 	}
diff --git a/plugins/woocommerce/tests/php/src/Internal/EmailEditor/WCTransactionalEmails/WCEmailPostsCleanupTest.php b/plugins/woocommerce/tests/php/src/Internal/EmailEditor/WCTransactionalEmails/WCEmailPostsCleanupTest.php
index 638a69ed06d..27f1d9e81a5 100644
--- a/plugins/woocommerce/tests/php/src/Internal/EmailEditor/WCTransactionalEmails/WCEmailPostsCleanupTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/EmailEditor/WCTransactionalEmails/WCEmailPostsCleanupTest.php
@@ -58,8 +58,6 @@ class WCEmailPostsCleanupTest extends \WC_Unit_Test_Case {
 	public function tearDown(): void {
 		$this->cleanup_injected_emails();

-		remove_all_filters( 'woocommerce_email_block_template_html' );
-
 		$this->posts_manager->clear_caches();
 		delete_transient( WCEmailPostsCleanup::LEGACY_GENERATION_TRANSIENT );
 		update_option( 'woocommerce_feature_block_email_editor_enabled', 'no' );
diff --git a/plugins/woocommerce/tests/php/src/Internal/EmailEditor/WCTransactionalEmails/WCEmailTemplateAutoApplierTest.php b/plugins/woocommerce/tests/php/src/Internal/EmailEditor/WCTransactionalEmails/WCEmailTemplateAutoApplierTest.php
index 5c34f7eb84f..49859d8f910 100644
--- a/plugins/woocommerce/tests/php/src/Internal/EmailEditor/WCTransactionalEmails/WCEmailTemplateAutoApplierTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/EmailEditor/WCTransactionalEmails/WCEmailTemplateAutoApplierTest.php
@@ -72,11 +72,6 @@ class WCEmailTemplateAutoApplierTest extends \WC_Unit_Test_Case {
 	public function tearDown(): void {
 		$this->cleanup_injected_emails();

-		remove_filter( 'theme_woo_email_templates', array( $this, 'whitelist_email_page_template' ) );
-		remove_filter( 'theme_templates', array( $this, 'whitelist_email_page_template' ) );
-		remove_all_filters( 'woocommerce_transactional_emails_for_block_editor' );
-		remove_all_filters( 'woocommerce_email_content_post_data' );
-
 		WCEmailTemplateSyncRegistry::reset_cache();
 		WCEmailTemplateAutoApplier::set_logger( null );

diff --git a/plugins/woocommerce/tests/php/src/Internal/EmailEditor/WCTransactionalEmails/WCEmailTemplateChangeSummaryTest.php b/plugins/woocommerce/tests/php/src/Internal/EmailEditor/WCTransactionalEmails/WCEmailTemplateChangeSummaryTest.php
index ee7ddb79089..297236d836e 100644
--- a/plugins/woocommerce/tests/php/src/Internal/EmailEditor/WCTransactionalEmails/WCEmailTemplateChangeSummaryTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/EmailEditor/WCTransactionalEmails/WCEmailTemplateChangeSummaryTest.php
@@ -59,9 +59,6 @@ class WCEmailTemplateChangeSummaryTest extends \WC_Unit_Test_Case {
 	public function tearDown(): void {
 		$this->cleanup_injected_emails();

-		remove_all_filters( 'woocommerce_transactional_emails_for_block_editor' );
-		remove_all_filters( 'woocommerce_email_content_post_data' );
-
 		WCEmailTemplateSyncRegistry::reset_cache();
 		WCEmailTemplateChangeSummary::reset_cache();
 		WCEmailTemplateChangeSummary::set_logger( null );
diff --git a/plugins/woocommerce/tests/php/src/Internal/EmailEditor/WCTransactionalEmails/WCEmailTemplateDivergenceDetectorTest.php b/plugins/woocommerce/tests/php/src/Internal/EmailEditor/WCTransactionalEmails/WCEmailTemplateDivergenceDetectorTest.php
index 33880e07257..5b0ca25f97d 100644
--- a/plugins/woocommerce/tests/php/src/Internal/EmailEditor/WCTransactionalEmails/WCEmailTemplateDivergenceDetectorTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/EmailEditor/WCTransactionalEmails/WCEmailTemplateDivergenceDetectorTest.php
@@ -371,9 +371,6 @@ class WCEmailTemplateDivergenceDetectorTest extends \WC_Unit_Test_Case {
 	public function tearDown(): void {
 		$this->cleanup_injected_emails();

-		remove_all_filters( 'woocommerce_transactional_emails_for_block_editor' );
-		remove_all_filters( 'woocommerce_email_content_post_data' );
-
 		WCEmailTemplateSyncRegistry::reset_cache();
 		WCEmailTemplateDivergenceDetector::set_logger( null );

diff --git a/plugins/woocommerce/tests/php/src/Internal/EmailEditor/WCTransactionalEmails/WCEmailTemplateSelectiveApplierTest.php b/plugins/woocommerce/tests/php/src/Internal/EmailEditor/WCTransactionalEmails/WCEmailTemplateSelectiveApplierTest.php
index 590d1796aa7..d9328e57bd4 100644
--- a/plugins/woocommerce/tests/php/src/Internal/EmailEditor/WCTransactionalEmails/WCEmailTemplateSelectiveApplierTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/EmailEditor/WCTransactionalEmails/WCEmailTemplateSelectiveApplierTest.php
@@ -63,9 +63,6 @@ class WCEmailTemplateSelectiveApplierTest extends \WC_Unit_Test_Case {
 	public function tearDown(): void {
 		$this->cleanup_injected_emails();

-		remove_all_filters( 'woocommerce_transactional_emails_for_block_editor' );
-		remove_all_filters( 'woocommerce_email_content_post_data' );
-
 		WCEmailTemplateSyncRegistry::reset_cache();
 		WCEmailTemplateChangeSummary::reset_cache();
 		WCEmailTemplateChangeSummary::set_logger( null );
diff --git a/plugins/woocommerce/tests/php/src/Internal/EmailEditor/WCTransactionalEmails/WCEmailTemplateSyncBackfillTest.php b/plugins/woocommerce/tests/php/src/Internal/EmailEditor/WCTransactionalEmails/WCEmailTemplateSyncBackfillTest.php
index 5af81cc8e25..f50237570e5 100644
--- a/plugins/woocommerce/tests/php/src/Internal/EmailEditor/WCTransactionalEmails/WCEmailTemplateSyncBackfillTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/EmailEditor/WCTransactionalEmails/WCEmailTemplateSyncBackfillTest.php
@@ -65,9 +65,6 @@ class WCEmailTemplateSyncBackfillTest extends \WC_Unit_Test_Case {
 	public function tearDown(): void {
 		$this->cleanup_injected_emails();

-		remove_all_filters( 'woocommerce_transactional_emails_for_block_editor' );
-		remove_all_actions( WCEmailTemplateSyncBackfill::BACKFILL_COMPLETE_ACTION );
-
 		WCEmailTemplateSyncRegistry::reset_cache();
 		WCEmailTemplateSyncBackfill::set_logger( null );

diff --git a/plugins/woocommerce/tests/php/src/Internal/EmailEditor/WCTransactionalEmails/WCEmailTemplateSyncRegistryTest.php b/plugins/woocommerce/tests/php/src/Internal/EmailEditor/WCTransactionalEmails/WCEmailTemplateSyncRegistryTest.php
index d289f801925..cc9d200516b 100644
--- a/plugins/woocommerce/tests/php/src/Internal/EmailEditor/WCTransactionalEmails/WCEmailTemplateSyncRegistryTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/EmailEditor/WCTransactionalEmails/WCEmailTemplateSyncRegistryTest.php
@@ -59,8 +59,6 @@ class WCEmailTemplateSyncRegistryTest extends \WC_Unit_Test_Case {
 		WCEmailTemplateSyncRegistry::reset_cache();
 		WCEmailTemplateSyncRegistry::set_logger( null );

-		remove_all_filters( 'woocommerce_transactional_emails_for_block_editor' );
-
 		$emails_container = \WC_Emails::instance();
 		$reflection       = new \ReflectionClass( $emails_container );
 		$property         = $reflection->getProperty( 'emails' );
diff --git a/plugins/woocommerce/tests/php/src/Internal/EmailEditor/WCTransactionalEmails/WCEmailTemplateSyncTrackerTest.php b/plugins/woocommerce/tests/php/src/Internal/EmailEditor/WCTransactionalEmails/WCEmailTemplateSyncTrackerTest.php
index b5b02ed31a0..641d98e93b3 100644
--- a/plugins/woocommerce/tests/php/src/Internal/EmailEditor/WCTransactionalEmails/WCEmailTemplateSyncTrackerTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/EmailEditor/WCTransactionalEmails/WCEmailTemplateSyncTrackerTest.php
@@ -83,9 +83,6 @@ class WCEmailTemplateSyncTrackerTest extends \WC_Unit_Test_Case {
 		WCEmailTemplateSyncTracker::set_event_recorder( null );
 		WCEmailTemplateSyncRegistry::reset_cache();

-		remove_all_filters( 'woocommerce_transactional_emails_for_block_editor' );
-		remove_all_filters( 'woocommerce_email_content_post_data' );
-
 		// Clear any dedup transients written by the tests so a re-run starts clean.
 		global $wpdb;
 		// phpcs:ignore WordPress.DB.DirectDatabaseQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.DirectDatabaseQuery.DirectQuery
diff --git a/plugins/woocommerce/tests/php/src/Internal/EmailEditor/WCTransactionalEmails/WCTransactionalEmailPostsGeneratorTest.php b/plugins/woocommerce/tests/php/src/Internal/EmailEditor/WCTransactionalEmails/WCTransactionalEmailPostsGeneratorTest.php
index d3a9f627039..170044ed2bf 100644
--- a/plugins/woocommerce/tests/php/src/Internal/EmailEditor/WCTransactionalEmails/WCTransactionalEmailPostsGeneratorTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/EmailEditor/WCTransactionalEmails/WCTransactionalEmailPostsGeneratorTest.php
@@ -434,9 +434,6 @@ class WCTransactionalEmailPostsGeneratorTest extends \WC_Unit_Test_Case {
 			$this->injected_email_keys = array();
 		}

-		remove_all_filters( 'woocommerce_transactional_emails_for_block_editor' );
-		remove_all_filters( 'woocommerce_email_content_post_data' );
-
 		WCEmailTemplateSyncRegistry::reset_cache();

 		parent::tearDown();
diff --git a/plugins/woocommerce/tests/php/src/Internal/Features/FeaturesControllerTest.php b/plugins/woocommerce/tests/php/src/Internal/Features/FeaturesControllerTest.php
index 85341abc2bf..8e268e93f08 100644
--- a/plugins/woocommerce/tests/php/src/Internal/Features/FeaturesControllerTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/Features/FeaturesControllerTest.php
@@ -184,12 +184,6 @@ class FeaturesControllerTest extends \WC_Unit_Test_Case {
 	 * Runs after each test.
 	 */
 	public function tearDown(): void {
-		remove_action(
-			'woocommerce_register_feature_definitions',
-			array( $this, 'register_dummy_features' ),
-			11,
-			1
-		);
 		$this->reset_container_replacements();
 		$this->reset_container_resolutions();

diff --git a/plugins/woocommerce/tests/php/src/Internal/Logging/OrderLogsCleanupTest.php b/plugins/woocommerce/tests/php/src/Internal/Logging/OrderLogsCleanupTest.php
index 670b1479406..31848534f5f 100644
--- a/plugins/woocommerce/tests/php/src/Internal/Logging/OrderLogsCleanupTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/Logging/OrderLogsCleanupTest.php
@@ -57,13 +57,6 @@ class OrderLogsCleanupTest extends \WC_Unit_Test_Case {
 	 */
 	private TestingContainer $container;

-	/**
-	 * Temporary storage of the target for the data store class filter.
-	 *
-	 * @var callable
-	 */
-	private $data_store_filter_callback = null;
-
 	// phpcs:disable WordPress.DB.SlowDBQuery

 	/**
@@ -135,10 +128,6 @@ class OrderLogsCleanupTest extends \WC_Unit_Test_Case {
 		self::delete_all_log_files();
 		as_unschedule_all_actions( OrderLogsCleanupHelper::EXTENDED_CLEANUP_HOOK );
 		parent::tearDown();
-		if ( $this->data_store_filter_callback ) {
-				remove_filter( 'woocommerce_order_data_store', $this->data_store_filter_callback, 99999 );
-				$this->data_store_filter_callback = null;
-		}
 	}

 	/**
@@ -408,11 +397,15 @@ class OrderLogsCleanupTest extends \WC_Unit_Test_Case {
 	 * @param mixed  $argument Argument to pass to the method, null to pass none.
 	 */
 	public function test_unknown_data_source( string $method_name, $argument ) {
-		$data_store                       = new class() extends \WC_Order_Data_Store_CPT {};
-		$this->data_store_filter_callback = function () use ( $data_store ) {
-			return $data_store;
-		};
-		add_filter( 'woocommerce_order_data_store', $this->data_store_filter_callback, 99999, 0 );
+		$data_store = new class() extends \WC_Order_Data_Store_CPT {};
+		add_filter(
+			'woocommerce_order_data_store',
+			function () use ( $data_store ) {
+				return $data_store;
+			},
+			99999,
+			0
+		);

 		$this->setup_hpos_and_reset_container( false );

diff --git a/plugins/woocommerce/tests/php/src/Internal/OrderReviews/SchedulerTest.php b/plugins/woocommerce/tests/php/src/Internal/OrderReviews/SchedulerTest.php
index 7c877f84dae..f740703613d 100644
--- a/plugins/woocommerce/tests/php/src/Internal/OrderReviews/SchedulerTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/OrderReviews/SchedulerTest.php
@@ -75,8 +75,6 @@ class SchedulerTest extends WC_Unit_Test_Case {
 	 */
 	public function tearDown(): void {
 		$this->set_review_email_enabled( false );
-		remove_all_filters( 'woocommerce_should_send_review_request' );
-		remove_all_filters( 'woocommerce_review_request_delay_seconds' );
 		delete_option( 'woocommerce_feature_customer_review_request_enabled' );

 		parent::tearDown();
diff --git a/plugins/woocommerce/tests/php/src/Internal/OrderReviews/SubmissionHandlerTest.php b/plugins/woocommerce/tests/php/src/Internal/OrderReviews/SubmissionHandlerTest.php
index ff2e6ed8ca0..a93717cc1d1 100644
--- a/plugins/woocommerce/tests/php/src/Internal/OrderReviews/SubmissionHandlerTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/OrderReviews/SubmissionHandlerTest.php
@@ -42,12 +42,6 @@ class SubmissionHandlerTest extends WC_Unit_Test_Case {
 		update_option( 'moderation_keys', '' );
 		update_option( 'disallowed_keys', '' );
 		update_option( 'comment_registration', $this->comment_registration );
-		remove_all_filters( 'woocommerce_review_order_submitted' );
-		remove_all_filters( 'woocommerce_review_order_eligible_statuses' );
-		remove_all_filters( 'woocommerce_review_order_eligible_items' );
-		remove_all_filters( 'wp_die_ajax_handler' );
-		remove_all_filters( 'wp_send_json_handler' );
-		remove_all_filters( 'wp_doing_ajax' );
 		delete_option( 'woocommerce_feature_customer_review_request_enabled' );
 		parent::tearDown();
 	}
diff --git a/plugins/woocommerce/tests/php/src/Internal/ProductAttributesLookup/FiltererTest.php b/plugins/woocommerce/tests/php/src/Internal/ProductAttributesLookup/FiltererTest.php
index 0a64a3533ff..cb140e524f5 100644
--- a/plugins/woocommerce/tests/php/src/Internal/ProductAttributesLookup/FiltererTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/ProductAttributesLookup/FiltererTest.php
@@ -84,8 +84,6 @@ class FiltererTest extends \WC_Unit_Test_Case {
 	 * Runs after each test.
 	 */
 	public function tearDown(): void {
-		remove_all_filters( 'woocommerce_layered_nav_count_cache_max_entries' );
-
 		$attribute_ids_by_name = wc_get_attribute_taxonomy_ids();
 		foreach ( array_keys( $attribute_ids_by_name ) as $attribute_name ) {
 			$attribute_name = wc_sanitize_taxonomy_name( $attribute_name );
diff --git a/plugins/woocommerce/tests/php/src/Internal/ProductFeed/Integrations/POSCatalog/AsyncGeneratorTest.php b/plugins/woocommerce/tests/php/src/Internal/ProductFeed/Integrations/POSCatalog/AsyncGeneratorTest.php
index dea232af658..ac2a05810a8 100644
--- a/plugins/woocommerce/tests/php/src/Internal/ProductFeed/Integrations/POSCatalog/AsyncGeneratorTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/ProductFeed/Integrations/POSCatalog/AsyncGeneratorTest.php
@@ -67,9 +67,6 @@ class AsyncGeneratorTest extends \WC_Unit_Test_Case {

 		delete_option( self::OPTION_KEY );
 		delete_option( self::OPTION_KEY . '_chunk_size' );
-		// Always clear the timeout filter here so a failed assertion in a test that registers it cannot
-		// leak it into later tests in the same process (tearDown runs even when a test fails).
-		remove_all_filters( 'woocommerce_product_feed_in_progress_timeout' );
 		$this->test_container->reset_all_replacements();
 	}

diff --git a/plugins/woocommerce/tests/php/src/Internal/ProductFilters/FilterDataCacheCapTest.php b/plugins/woocommerce/tests/php/src/Internal/ProductFilters/FilterDataCacheCapTest.php
index 81972079b1e..d9411ca5dfe 100644
--- a/plugins/woocommerce/tests/php/src/Internal/ProductFilters/FilterDataCacheCapTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/ProductFilters/FilterDataCacheCapTest.php
@@ -40,7 +40,6 @@ class FilterDataCacheCapTest extends AbstractProductFiltersTest {
 	 * Runs after each test.
 	 */
 	public function tearDown(): void {
-		remove_all_filters( 'woocommerce_product_filter_cache_max_entries' );
 		delete_transient( CacheController::CACHE_ENTRY_COUNT_TRANSIENT );
 		parent::tearDown();
 	}
diff --git a/plugins/woocommerce/tests/php/src/Internal/ProductFilters/ParamsTest.php b/plugins/woocommerce/tests/php/src/Internal/ProductFilters/ParamsTest.php
index 2fc94551df3..aebf68158f0 100644
--- a/plugins/woocommerce/tests/php/src/Internal/ProductFilters/ParamsTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/ProductFilters/ParamsTest.php
@@ -75,7 +75,6 @@ class ParamsTest extends AbstractProductFiltersTest {
 	public function tearDown(): void {
 		try {
 			if ( null !== $this->taxonomy_params_filter ) {
-				remove_filter( 'woocommerce_product_filter_params', $this->taxonomy_params_filter );
 				$this->taxonomy_params_filter = null;
 			}
 		} finally {
diff --git a/plugins/woocommerce/tests/php/src/Internal/ProductFilters/QueryClausesTest.php b/plugins/woocommerce/tests/php/src/Internal/ProductFilters/QueryClausesTest.php
index 96141f38dea..8f0c3237ebe 100644
--- a/plugins/woocommerce/tests/php/src/Internal/ProductFilters/QueryClausesTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/ProductFilters/QueryClausesTest.php
@@ -25,13 +25,6 @@ class QueryClausesTest extends AbstractProductFiltersTest {
 	 */
 	private $sut;

-	/**
-	 * Callback added to the woocommerce_product_filter_params filter during a test.
-	 *
-	 * @var callable|null
-	 */
-	private $taxonomy_params_filter;
-
 	/**
 	 * Runs before each test.
 	 */
@@ -47,20 +40,6 @@ class QueryClausesTest extends AbstractProductFiltersTest {
 		$this->clear_params_cache();
 	}

-	/**
-	 * Runs after each test.
-	 */
-	public function tearDown(): void {
-		try {
-			if ( null !== $this->taxonomy_params_filter ) {
-				remove_filter( 'woocommerce_product_filter_params', $this->taxonomy_params_filter );
-				$this->taxonomy_params_filter = null;
-			}
-		} finally {
-			parent::tearDown();
-		}
-	}
-
 	/**
 	 * @testdox Test the product query with post clauses containing price clauses.
 	 *
@@ -441,11 +420,11 @@ class QueryClausesTest extends AbstractProductFiltersTest {
 		$brand_owner = $this->products[0];
 		$brand_slug  = $this->assign_brand_to_product( $brand_owner, 'Acme' );

-		$this->taxonomy_params_filter = function ( array $params ): array {
+		$taxonomy_params_filter = function ( array $params ): array {
 			$params['taxonomy']['product_brand'] = 'wc_brands';
 			return $params;
 		};
-		add_filter( 'woocommerce_product_filter_params', $this->taxonomy_params_filter );
+		add_filter( 'woocommerce_product_filter_params', $taxonomy_params_filter );

 		list( $where, $posts ) = $this->query_main_products( array( 'brands' => $brand_slug ) );

diff --git a/plugins/woocommerce/tests/php/src/Internal/PushNotifications/Triggers/NewOrderNotificationTriggerTest.php b/plugins/woocommerce/tests/php/src/Internal/PushNotifications/Triggers/NewOrderNotificationTriggerTest.php
index b6939528423..38a182d2f8b 100644
--- a/plugins/woocommerce/tests/php/src/Internal/PushNotifications/Triggers/NewOrderNotificationTriggerTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/PushNotifications/Triggers/NewOrderNotificationTriggerTest.php
@@ -70,10 +70,6 @@ class NewOrderNotificationTriggerTest extends WC_Unit_Test_Case {
 	 * Tear down test fixtures.
 	 */
 	public function tearDown(): void {
-		remove_action( 'woocommerce_new_order', array( $this->trigger, 'on_new_order' ) );
-		remove_action( 'woocommerce_order_status_changed', array( $this->trigger, 'on_order_status_changed' ) );
-		remove_action( 'shutdown', array( $this->store, 'dispatch_all' ) );
-
 		$this->reset_container_replacements();
 		wc_get_container()->reset_all_resolved();

diff --git a/plugins/woocommerce/tests/php/src/Internal/PushNotifications/Triggers/NewReviewNotificationTriggerTest.php b/plugins/woocommerce/tests/php/src/Internal/PushNotifications/Triggers/NewReviewNotificationTriggerTest.php
index 2657a2c429c..e22d91fcaea 100644
--- a/plugins/woocommerce/tests/php/src/Internal/PushNotifications/Triggers/NewReviewNotificationTriggerTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/PushNotifications/Triggers/NewReviewNotificationTriggerTest.php
@@ -65,9 +65,6 @@ class NewReviewNotificationTriggerTest extends WC_Unit_Test_Case {
 	 * Tear down test fixtures.
 	 */
 	public function tearDown(): void {
-		remove_action( 'comment_post', array( $this->trigger, 'on_comment_post' ) );
-		remove_action( 'shutdown', array( $this->store, 'dispatch_all' ) );
-
 		$this->reset_container_replacements();
 		wc_get_container()->reset_all_resolved();

diff --git a/plugins/woocommerce/tests/php/src/Internal/PushNotifications/Triggers/StockNotificationRecoveryHandlerTest.php b/plugins/woocommerce/tests/php/src/Internal/PushNotifications/Triggers/StockNotificationRecoveryHandlerTest.php
index 80b01bfb35b..b71cc1f73f2 100644
--- a/plugins/woocommerce/tests/php/src/Internal/PushNotifications/Triggers/StockNotificationRecoveryHandlerTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/PushNotifications/Triggers/StockNotificationRecoveryHandlerTest.php
@@ -45,9 +45,6 @@ class StockNotificationRecoveryHandlerTest extends WC_Unit_Test_Case {
 	 * Tear down test fixtures.
 	 */
 	public function tearDown(): void {
-		remove_action( 'woocommerce_product_set_stock', array( $this->sut, 'on_stock_change' ) );
-		remove_action( 'woocommerce_variation_set_stock', array( $this->sut, 'on_stock_change' ) );
-
 		if ( false === $this->original_no_stock_amount ) {
 			delete_option( 'woocommerce_notify_no_stock_amount' );
 		} else {
diff --git a/plugins/woocommerce/tests/php/src/Internal/PushNotifications/Triggers/StockNotificationTriggerTest.php b/plugins/woocommerce/tests/php/src/Internal/PushNotifications/Triggers/StockNotificationTriggerTest.php
index 47b4becb50f..bc2f716b138 100644
--- a/plugins/woocommerce/tests/php/src/Internal/PushNotifications/Triggers/StockNotificationTriggerTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/PushNotifications/Triggers/StockNotificationTriggerTest.php
@@ -57,11 +57,6 @@ class StockNotificationTriggerTest extends WC_Unit_Test_Case {
 	 * Tear down test fixtures.
 	 */
 	public function tearDown(): void {
-		remove_action( 'woocommerce_low_stock', array( $this->trigger, 'on_low_stock' ) );
-		remove_action( 'woocommerce_no_stock', array( $this->trigger, 'on_no_stock' ) );
-		remove_action( 'woocommerce_product_on_backorder', array( $this->trigger, 'on_backorder' ) );
-		remove_action( 'shutdown', array( $this->store, 'dispatch_all' ) );
-
 		$this->reset_container_replacements();
 		wc_get_container()->reset_all_resolved();

diff --git a/plugins/woocommerce/tests/php/src/Internal/RestApi/Routes/V4/Settings/Email/EmailSettingsControllerTest.php b/plugins/woocommerce/tests/php/src/Internal/RestApi/Routes/V4/Settings/Email/EmailSettingsControllerTest.php
index c645fb08055..a1b0d33b22a 100644
--- a/plugins/woocommerce/tests/php/src/Internal/RestApi/Routes/V4/Settings/Email/EmailSettingsControllerTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/RestApi/Routes/V4/Settings/Email/EmailSettingsControllerTest.php
@@ -26,11 +26,6 @@ class EmailSettingsControllerTest extends WC_REST_Unit_Test_Case {
 	 */
 	protected static $user_id;

-	/**
-	 * @var callable
-	 */
-	private $feature_filter;
-
 	/**
 	 * Previous option values to restore after tests.
 	 *
@@ -52,12 +47,12 @@ class EmailSettingsControllerTest extends WC_REST_Unit_Test_Case {
 	 */
 	public function setUp(): void {
 		// Enable the v4 REST API feature before bootstrapping.
-		$this->feature_filter = function ( $features ) {
+		$feature_filter = function ( $features ) {
 			$features[] = 'rest-api-v4';
 			return $features;
 		};

-		add_filter( 'woocommerce_admin_features', $this->feature_filter );
+		add_filter( 'woocommerce_admin_features', $feature_filter );

 		parent::setUp();
 		// Enable block email editor feature to test reply-to fields.
@@ -80,10 +75,6 @@ class EmailSettingsControllerTest extends WC_REST_Unit_Test_Case {
 	 * Tear down.
 	 */
 	public function tearDown(): void {
-		if ( isset( $this->feature_filter ) ) {
-			remove_filter( 'woocommerce_admin_features', $this->feature_filter );
-		}
-
 		// Restore previous option values.
 		foreach ( $this->prev_options as $id => $value ) {
 			if ( null === $value ) {
diff --git a/plugins/woocommerce/tests/php/src/Internal/RestApi/Routes/V4/Settings/Emails/EmailsSettingsControllerTest.php b/plugins/woocommerce/tests/php/src/Internal/RestApi/Routes/V4/Settings/Emails/EmailsSettingsControllerTest.php
index e2e6c12c9ab..3309fbf7c5c 100644
--- a/plugins/woocommerce/tests/php/src/Internal/RestApi/Routes/V4/Settings/Emails/EmailsSettingsControllerTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/RestApi/Routes/V4/Settings/Emails/EmailsSettingsControllerTest.php
@@ -78,13 +78,6 @@ class EmailsSettingsControllerTest extends WC_Unit_Test_Case {
 	 */
 	protected static $user_id;

-	/**
-	 * Feature filter callback.
-	 *
-	 * @var callable
-	 */
-	private $feature_filter;
-
 	/**
 	 * Previous option values to restore after tests.
 	 *
@@ -118,12 +111,12 @@ class EmailsSettingsControllerTest extends WC_Unit_Test_Case {
 		$this->previous_emails          = $this->previous_emails_instance ? $this->previous_emails_instance->emails : array();

 		// Enable the v4 REST API feature before bootstrapping.
-		$this->feature_filter = function ( $features ) {
+		$feature_filter = function ( $features ) {
 			$features[] = 'rest-api-v4';
 			return $features;
 		};

-		add_filter( 'woocommerce_admin_features', $this->feature_filter );
+		add_filter( 'woocommerce_admin_features', $feature_filter );
 		$this->prev_options['woocommerce_feature_block_email_editor_enabled'] = get_option( 'woocommerce_feature_block_email_editor_enabled', null );

 		parent::setUp();
@@ -178,10 +171,6 @@ class EmailsSettingsControllerTest extends WC_Unit_Test_Case {
 		unset( $this->prev_options['woocommerce_feature_block_email_editor_enabled'] );

 		try {
-			if ( isset( $this->feature_filter ) ) {
-				remove_filter( 'woocommerce_admin_features', $this->feature_filter );
-			}
-
 			// Restore previous option values.
 			foreach ( $this->prev_options as $key => $value ) {
 				if ( null === $value ) {
diff --git a/plugins/woocommerce/tests/php/src/Internal/ShopperLists/ShopperListsControllerTests.php b/plugins/woocommerce/tests/php/src/Internal/ShopperLists/ShopperListsControllerTests.php
index 117daebdafe..68f00313ef8 100644
--- a/plugins/woocommerce/tests/php/src/Internal/ShopperLists/ShopperListsControllerTests.php
+++ b/plugins/woocommerce/tests/php/src/Internal/ShopperLists/ShopperListsControllerTests.php
@@ -47,14 +47,6 @@ class ShopperListsControllerTests extends WC_Unit_Test_Case {
 	 * Tear down.
 	 */
 	public function tearDown(): void {
-		if ( null !== $this->sut ) {
-			$endpoint = $this->sut->get_wishlist_endpoint();
-			remove_filter( 'woocommerce_get_query_vars', array( $this->sut, 'add_wishlist_query_var' ) );
-			remove_filter( 'woocommerce_account_menu_items', array( $this->sut, 'add_wishlist_menu_item' ) );
-			remove_filter( 'woocommerce_endpoint_' . $endpoint . '_title', array( $this->sut, 'wishlist_endpoint_title' ) );
-			remove_action( 'woocommerce_account_' . $endpoint . '_endpoint', array( $this->sut, 'render_wishlist_endpoint' ) );
-		}
-
 		foreach ( array_keys( self::LIST_OPTIONS ) as $slug ) {
 			$this->disable_list( $slug );
 		}
diff --git a/plugins/woocommerce/tests/php/src/Internal/StockNotifications/Admin/NotificationEditPageTests.php b/plugins/woocommerce/tests/php/src/Internal/StockNotifications/Admin/NotificationEditPageTests.php
index 62c9f4a7847..15b2682a450 100644
--- a/plugins/woocommerce/tests/php/src/Internal/StockNotifications/Admin/NotificationEditPageTests.php
+++ b/plugins/woocommerce/tests/php/src/Internal/StockNotifications/Admin/NotificationEditPageTests.php
@@ -49,7 +49,6 @@ class NotificationEditPageTests extends \WC_Unit_Test_Case {
 	 * Tear down test fixtures.
 	 */
 	public function tearDown(): void {
-		remove_filter( 'wp_redirect', array( $this, 'stop_redirect' ) );
 		$_POST    = array();
 		$_REQUEST = array();
 		delete_option( NotificationsPage::ADMIN_NOTICE_OPTION_NAME );
diff --git a/plugins/woocommerce/tests/php/src/Internal/StockNotifications/Emails/EmailActionControllerTests.php b/plugins/woocommerce/tests/php/src/Internal/StockNotifications/Emails/EmailActionControllerTests.php
index 2e19e367bde..89515ddfd76 100644
--- a/plugins/woocommerce/tests/php/src/Internal/StockNotifications/Emails/EmailActionControllerTests.php
+++ b/plugins/woocommerce/tests/php/src/Internal/StockNotifications/Emails/EmailActionControllerTests.php
@@ -54,7 +54,6 @@ class EmailActionControllerTests extends \WC_Unit_Test_Case {
 	 * Tear down test fixtures.
 	 */
 	public function tearDown(): void {
-		remove_filter( 'wp_redirect', array( $this, 'intercept_redirect' ) );
 		$this->restore_stock_notifications_feature_option();
 		parent::tearDown();
 	}
diff --git a/plugins/woocommerce/tests/php/src/Internal/StockNotifications/Emails/EmailManagerTests.php b/plugins/woocommerce/tests/php/src/Internal/StockNotifications/Emails/EmailManagerTests.php
index 48519d08c84..a99d882ee8f 100644
--- a/plugins/woocommerce/tests/php/src/Internal/StockNotifications/Emails/EmailManagerTests.php
+++ b/plugins/woocommerce/tests/php/src/Internal/StockNotifications/Emails/EmailManagerTests.php
@@ -70,7 +70,6 @@ class EmailManagerTests extends \WC_Unit_Test_Case {
 	 * Tear down test fixtures.
 	 */
 	public function tearDown(): void {
-		remove_filter( 'pre_wp_mail', array( $this, 'capture_pre_wp_mail' ), 10 );
 		$this->sent_to        = array();
 		$this->sent_messages  = array();
 		$this->wp_mail_result = true;
diff --git a/plugins/woocommerce/tests/php/src/Internal/StockNotifications/Frontend/MyAccountEndpointTests.php b/plugins/woocommerce/tests/php/src/Internal/StockNotifications/Frontend/MyAccountEndpointTests.php
index 4e39581ea30..cb2a344a769 100644
--- a/plugins/woocommerce/tests/php/src/Internal/StockNotifications/Frontend/MyAccountEndpointTests.php
+++ b/plugins/woocommerce/tests/php/src/Internal/StockNotifications/Frontend/MyAccountEndpointTests.php
@@ -46,7 +46,6 @@ class MyAccountEndpointTests extends \WC_Unit_Test_Case {
 	 * Tear down the test.
 	 */
 	public function tearDown(): void {
-		remove_filter( 'wp_redirect', array( $this, 'capture_redirect' ) );
 		$this->redirect_location = null;
 		\wp_set_current_user( 0 );
 		delete_option( MyAccountEndpoint::ENDPOINT_OPTION );
diff --git a/plugins/woocommerce/tests/php/src/Internal/StockNotifications/Frontend/NotificationManagementServiceTests.php b/plugins/woocommerce/tests/php/src/Internal/StockNotifications/Frontend/NotificationManagementServiceTests.php
index 5c9771e1f2c..5fb961eca7c 100644
--- a/plugins/woocommerce/tests/php/src/Internal/StockNotifications/Frontend/NotificationManagementServiceTests.php
+++ b/plugins/woocommerce/tests/php/src/Internal/StockNotifications/Frontend/NotificationManagementServiceTests.php
@@ -56,8 +56,6 @@ class NotificationManagementServiceTests extends \WC_Unit_Test_Case {
 	 * Tear down test fixtures.
 	 */
 	public function tearDown(): void {
-		remove_filter( 'wp_redirect', array( $this, 'intercept_redirect' ) );
-
 		unset( $_GET['_wpnonce'], $_GET[ NotificationManagementService::RESEND_QUERY_ARG ] );
 		wp_set_current_user( 0 );

diff --git a/plugins/woocommerce/tests/php/src/Internal/Ucp/UcpDiscoveryTest.php b/plugins/woocommerce/tests/php/src/Internal/Ucp/UcpDiscoveryTest.php
index dbda8d744e4..197b6210a6f 100644
--- a/plugins/woocommerce/tests/php/src/Internal/Ucp/UcpDiscoveryTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/Ucp/UcpDiscoveryTest.php
@@ -43,10 +43,6 @@ class UcpDiscoveryTest extends \WC_Unit_Test_Case {
 	public function tearDown(): void {
 		global $wp_rewrite;
 		unset( $wp_rewrite->extra_rules_top[ self::RULE ] );
-		remove_filter( 'query_vars', array( $this->sut, 'add_query_var' ), 0 );
-		remove_action( 'parse_request', array( $this->sut, 'maybe_render' ), 0 );
-		remove_action( 'admin_init', array( $this->sut, 'maybe_sync_file' ) );
-		remove_action( 'deactivate_' . plugin_basename( WC_PLUGIN_FILE ), array( $this->sut, 'delete_file' ) );
 		delete_option( 'woocommerce_queue_flush_rewrite_rules' );
 		if ( is_file( $this->file ) ) {
 			wp_delete_file( $this->file );
diff --git a/plugins/woocommerce/tests/php/src/Internal/Utilities/COTMigrationUtilTest.php b/plugins/woocommerce/tests/php/src/Internal/Utilities/COTMigrationUtilTest.php
index 33119e0c1f1..bc4a76632bb 100644
--- a/plugins/woocommerce/tests/php/src/Internal/Utilities/COTMigrationUtilTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/Utilities/COTMigrationUtilTest.php
@@ -48,7 +48,6 @@ class COTMigrationUtilTest extends \WC_Unit_Test_Case {
 	 */
 	public function tearDown(): void {
 		OrderHelper::toggle_cot_feature_and_usage( $this->prev_cot_state );
-		remove_all_filters( 'wc_allow_changing_orders_storage_while_sync_is_pending' );
 		$GLOBALS['theorder'] = $this->prev_theorder;
 		parent::tearDown();
 	}
diff --git a/plugins/woocommerce/tests/php/src/Internal/VariationGallery/ClassicVariationGalleryAdminTest.php b/plugins/woocommerce/tests/php/src/Internal/VariationGallery/ClassicVariationGalleryAdminTest.php
index 009875601ef..9d5040d286a 100644
--- a/plugins/woocommerce/tests/php/src/Internal/VariationGallery/ClassicVariationGalleryAdminTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/VariationGallery/ClassicVariationGalleryAdminTest.php
@@ -39,11 +39,6 @@ class ClassicVariationGalleryAdminTest extends \WC_Unit_Test_Case {
 	 * Tear down.
 	 */
 	public function tearDown(): void {
-		remove_filter(
-			'woocommerce_product_variation_get_gallery_image_ids',
-			array( $this->legacy_compat, 'maybe_read_legacy_gallery_image_ids' ),
-			10
-		);
 		unset( $_POST['variable_gallery_image_ids'] );
 		parent::tearDown();
 	}
diff --git a/plugins/woocommerce/tests/php/src/Utilities/I18nUtilTest.php b/plugins/woocommerce/tests/php/src/Utilities/I18nUtilTest.php
index 6a01b509bd1..5827a6add82 100644
--- a/plugins/woocommerce/tests/php/src/Utilities/I18nUtilTest.php
+++ b/plugins/woocommerce/tests/php/src/Utilities/I18nUtilTest.php
@@ -41,17 +41,6 @@ class I18nUtilTest extends \WC_Unit_Test_Case {
 		add_filter( 'gettext', array( __CLASS__, 'filter_gettext' ) );
 	}

-	/**
-	 * Do after each test in this class.
-	 *
-	 * @return void
-	 */
-	public function tear_down() {
-		remove_filter( 'gettext', array( __CLASS__, 'filter_gettext' ) );
-
-		parent::tear_down();
-	}
-
 	/**
 	 * Simulate a string getting translated.
 	 *
diff --git a/plugins/woocommerce/tests/php/src/Utilities/RestApiUtilTest.php b/plugins/woocommerce/tests/php/src/Utilities/RestApiUtilTest.php
index 9f4716168f0..04d2b32e4c1 100644
--- a/plugins/woocommerce/tests/php/src/Utilities/RestApiUtilTest.php
+++ b/plugins/woocommerce/tests/php/src/Utilities/RestApiUtilTest.php
@@ -33,9 +33,6 @@ class RestApiUtilTest extends \WC_Unit_Test_Case {
 	 * Clean up after tests.
 	 */
 	public function tearDown(): void {
-		// Clear any filters that may have been added during tests.
-		remove_all_filters( 'woocommerce_rest_should_lazy_load_namespace' );
-
 		// Clear global wp query vars.
 		if ( isset( $GLOBALS['wp'] ) ) {
 			$GLOBALS['wp']->query_vars = array(); // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited