diff --git a/spring-cloud-kubernetes-discovery/pom.xml b/spring-cloud-kubernetes-discovery/pom.xml
index 773d1707..0b981777 100644
--- a/spring-cloud-kubernetes-discovery/pom.xml
+++ b/spring-cloud-kubernetes-discovery/pom.xml
@@ -11,9 +11,6 @@
spring-cloud-kubernetes-discovery
-
-
-
org.springframework.boot
@@ -54,6 +51,11 @@
reactor-test
test
+
+ org.springframework.cloud
+ spring-cloud-kubernetes-test-support
+ test
+
diff --git a/spring-cloud-kubernetes-fabric8-autoconfig/pom.xml b/spring-cloud-kubernetes-fabric8-autoconfig/pom.xml
index 90aa2a89..2e34233d 100644
--- a/spring-cloud-kubernetes-fabric8-autoconfig/pom.xml
+++ b/spring-cloud-kubernetes-fabric8-autoconfig/pom.xml
@@ -125,6 +125,11 @@
mockito-inline
test
+
+ org.springframework.cloud
+ spring-cloud-kubernetes-test-support
+ test
+
diff --git a/spring-cloud-kubernetes-fabric8-config/pom.xml b/spring-cloud-kubernetes-fabric8-config/pom.xml
index d932b7e6..87a9c7b7 100644
--- a/spring-cloud-kubernetes-fabric8-config/pom.xml
+++ b/spring-cloud-kubernetes-fabric8-config/pom.xml
@@ -159,6 +159,11 @@
junit-platform-launcher
test
+
+ org.springframework.cloud
+ spring-cloud-kubernetes-test-support
+ test
+
diff --git a/spring-cloud-kubernetes-fabric8-discovery/pom.xml b/spring-cloud-kubernetes-fabric8-discovery/pom.xml
index 6bf31ca6..3a5d07c0 100644
--- a/spring-cloud-kubernetes-fabric8-discovery/pom.xml
+++ b/spring-cloud-kubernetes-fabric8-discovery/pom.xml
@@ -115,6 +115,11 @@
junit-platform-launcher
test
+
+ org.springframework.cloud
+ spring-cloud-kubernetes-test-support
+ test
+
diff --git a/spring-cloud-kubernetes-fabric8-istio/pom.xml b/spring-cloud-kubernetes-fabric8-istio/pom.xml
index c1692cad..72b62819 100644
--- a/spring-cloud-kubernetes-fabric8-istio/pom.xml
+++ b/spring-cloud-kubernetes-fabric8-istio/pom.xml
@@ -45,10 +45,14 @@
spring-boot-starter-web
test
-
org.junit.platform
junit-platform-launcher
+
+
+
+ org.springframework.cloud
+ spring-cloud-kubernetes-test-support
test
diff --git a/spring-cloud-kubernetes-fabric8-leader/pom.xml b/spring-cloud-kubernetes-fabric8-leader/pom.xml
index afc41510..6b15d0ab 100644
--- a/spring-cloud-kubernetes-fabric8-leader/pom.xml
+++ b/spring-cloud-kubernetes-fabric8-leader/pom.xml
@@ -61,31 +61,16 @@
org.springframework.boot
spring-boot-starter-test
test
-
-
- org.junit.vintage
- junit-vintage-engine
-
-
org.junit.platform
junit-platform-launcher
test
+
+ org.springframework.cloud
+ spring-cloud-kubernetes-test-support
+ test
+
-
-
-
- org.apache.maven.plugins
- maven-surefire-plugin
- ${maven-surefire-plugin.version}
-
-
- org.apache.maven.plugins
- maven-failsafe-plugin
- ${maven-failsafe-plugin.version}
-
-
-
diff --git a/spring-cloud-kubernetes-fabric8-loadbalancer/pom.xml b/spring-cloud-kubernetes-fabric8-loadbalancer/pom.xml
index 67961057..6f63d7dd 100644
--- a/spring-cloud-kubernetes-fabric8-loadbalancer/pom.xml
+++ b/spring-cloud-kubernetes-fabric8-loadbalancer/pom.xml
@@ -46,5 +46,10 @@
kubernetes-server-mock
test
+
+ org.springframework.cloud
+ spring-cloud-kubernetes-test-support
+ test
+
diff --git a/spring-cloud-kubernetes-test-support/src/main/java/org/springframework/cloud/kubernetes/tests/commons/junit_extension/DisabledTestsCondition.java b/spring-cloud-kubernetes-test-support/src/main/java/org/springframework/cloud/kubernetes/tests/commons/junit_extension/DisabledTestsCondition.java
new file mode 100644
index 00000000..10f84ea8
--- /dev/null
+++ b/spring-cloud-kubernetes-test-support/src/main/java/org/springframework/cloud/kubernetes/tests/commons/junit_extension/DisabledTestsCondition.java
@@ -0,0 +1,51 @@
+/*
+ * Copyright 2013-2023 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.springframework.cloud.kubernetes.tests.commons.junit_extension;
+
+import org.junit.jupiter.api.extension.ConditionEvaluationResult;
+import org.junit.jupiter.api.extension.ExecutionCondition;
+import org.junit.jupiter.api.extension.ExtensionContext;
+
+/**
+ * This is mainly needed for our pipeline, to get the test classes names. Its purpose is
+ * to act like a 'dry-run': show all the tests fully qualified names without actually
+ * running them.
+ *
+ * The way to use it: "mvn clean test -Dspring.cloud.k8s.skip.tests=true". This way all
+ * tests will be skipped, but also will be printed to the standard output as a fully
+ * qualified name, i.e.:
+ *
+ *
+ * spring.cloud.k8s.test.to.run -> org.springframework.cloud.kubernetes.Fabric8InsideHealthIndicatorTest
+ *
+ *
+ * @author wind57
+ */
+public class DisabledTestsCondition implements ExecutionCondition {
+
+ @Override
+ public ConditionEvaluationResult evaluateExecutionCondition(ExtensionContext extensionContext) {
+ if ("true".equals(System.getProperty("spring.cloud.k8s.skip.tests"))) {
+ System.out.println("spring.cloud.k8s.test.to.run -> " + extensionContext.getRequiredTestClass().getName());
+ return ConditionEvaluationResult.disabled("");
+ }
+ else {
+ return ConditionEvaluationResult.enabled("");
+ }
+ }
+
+}
diff --git a/spring-cloud-kubernetes-test-support/src/main/resources/META-INF/services/org.junit.jupiter.api.extension.Extension b/spring-cloud-kubernetes-test-support/src/main/resources/META-INF/services/org.junit.jupiter.api.extension.Extension
new file mode 100644
index 00000000..483f8049
--- /dev/null
+++ b/spring-cloud-kubernetes-test-support/src/main/resources/META-INF/services/org.junit.jupiter.api.extension.Extension
@@ -0,0 +1 @@
+org.springframework.cloud.kubernetes.tests.commons.junit_extension.DisabledTestsCondition
diff --git a/spring-cloud-kubernetes-test-support/src/main/resources/junit-platform.properties b/spring-cloud-kubernetes-test-support/src/main/resources/junit-platform.properties
new file mode 100644
index 00000000..6efc0d5e
--- /dev/null
+++ b/spring-cloud-kubernetes-test-support/src/main/resources/junit-platform.properties
@@ -0,0 +1 @@
+junit.jupiter.extensions.autodetection.enabled=true