From 9aaa8d58611b6d6c68a21ec74416cb0fb24ef125 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Tue, 20 Apr 2021 11:05:32 +0200 Subject: [PATCH] junit 5: warn if class could not be found (IDEA-265467) GitOrigin-RevId: 8d6b7ecfdd5e0d6bb6f51f6b3b98d615f4ebce72 --- .../com/intellij/junit5/JUnit5TestRunnerUtil.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/plugins/junit5_rt/src/com/intellij/junit5/JUnit5TestRunnerUtil.java b/plugins/junit5_rt/src/com/intellij/junit5/JUnit5TestRunnerUtil.java index 1b8deae3e93b..90c590a3d52b 100644 --- a/plugins/junit5_rt/src/com/intellij/junit5/JUnit5TestRunnerUtil.java +++ b/plugins/junit5_rt/src/com/intellij/junit5/JUnit5TestRunnerUtil.java @@ -31,9 +31,11 @@ import java.lang.annotation.Annotation; import java.lang.reflect.AnnotatedElement; import java.lang.reflect.Method; import java.nio.file.Paths; +import java.text.MessageFormat; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.ResourceBundle; public class JUnit5TestRunnerUtil { private static final String[] DISABLED_ANNO = {"org.junit.jupiter.api.Disabled"}; @@ -93,7 +95,18 @@ public class JUnit5TestRunnerUtil { builder = builder.selectors(selectors); } if (filters != null && !filters.isEmpty()) { - builder = builder.filters(ClassNameFilter.includeClassNamePatterns(filters.split("\\|\\|"))); + String[] classNames = filters.split("\\|\\|"); + for (String className : classNames) { + if (!className.contains("*")) { + try { + Class.forName(className, false, JUnit5TestRunnerUtil.class.getClassLoader()); + } + catch (ClassNotFoundException e) { + System.err.println(MessageFormat.format(ResourceBundle.getBundle("messages.RuntimeBundle").getString("junit.class.not.found"), className)); + } + } + } + builder = builder.filters(ClassNameFilter.includeClassNamePatterns(classNames)); } if (tags != null && !tags.isEmpty()) { builder = builder