From 51203e2113b3998c8ffeb125e718f16873156a30 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Tue, 30 Jan 2018 09:21:05 +0300 Subject: [PATCH] junit: check if inner class runnable --- .../impl/src/com/intellij/execution/junit/JUnitUtil.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/java/execution/impl/src/com/intellij/execution/junit/JUnitUtil.java b/java/execution/impl/src/com/intellij/execution/junit/JUnitUtil.java index 541f1529a293..75ca57557239 100644 --- a/java/execution/impl/src/com/intellij/execution/junit/JUnitUtil.java +++ b/java/execution/impl/src/com/intellij/execution/junit/JUnitUtil.java @@ -163,16 +163,17 @@ public class JUnitUtil { if (isJUnit5(psiClass) && isJUnit5TestClass(psiClass, checkAbstract)) { return true; } + + if (!PsiClassUtil.isRunnableClass(psiClass, true, checkAbstract)) return false; + final PsiClass topLevelClass = PsiTreeUtil.getTopmostParentOfType(psiClass, PsiClass.class); if (topLevelClass != null) { final PsiAnnotation annotation = AnnotationUtil.findAnnotationInHierarchy(topLevelClass, Collections.singleton(RUN_WITH)); - if (annotation != null && !isInheritorOrSelfRunner(annotation, RUNNERS_REQUIRE_ANNOTATION_ON_TEST_METHOD)) { + if (annotation != null && !isInheritorOrSelfRunner(annotation, RUNNERS_UNAWARE_OF_INNER_CLASSES)) { return true; } } - if (!PsiClassUtil.isRunnableClass(psiClass, true, checkAbstract)) return false; - if (AnnotationUtil.isAnnotated(psiClass, RUN_WITH, CHECK_HIERARCHY)) return true; if (checkForTestCaseInheritance && isTestCaseInheritor(psiClass)) return true;