diff --git a/plugins/testng/src/com/theoryinpractice/testng/configuration/AbstractTestNGInClassConfigurationProducer.java b/plugins/testng/src/com/theoryinpractice/testng/configuration/AbstractTestNGInClassConfigurationProducer.java index dcdb4cf59d6f..4198e3529415 100644 --- a/plugins/testng/src/com/theoryinpractice/testng/configuration/AbstractTestNGInClassConfigurationProducer.java +++ b/plugins/testng/src/com/theoryinpractice/testng/configuration/AbstractTestNGInClassConfigurationProducer.java @@ -47,7 +47,7 @@ public abstract class AbstractTestNGInClassConfigurationProducer extends TestNGC } private static boolean isTestNGClass(PsiClass psiClass) { - return psiClass != null && PsiClassUtil.isRunnableClass(psiClass, true, false) && TestNGUtil.hasTest(psiClass); + return psiClass != null && TestNGUtil.hasTest(psiClass); } @Override diff --git a/plugins/testng/src/com/theoryinpractice/testng/util/TestNGUtil.java b/plugins/testng/src/com/theoryinpractice/testng/util/TestNGUtil.java index f18214ac5287..6a885e88d589 100644 --- a/plugins/testng/src/com/theoryinpractice/testng/util/TestNGUtil.java +++ b/plugins/testng/src/com/theoryinpractice/testng/util/TestNGUtil.java @@ -192,6 +192,20 @@ public class TestNGUtil { } public static boolean hasTest(PsiModifierListOwner element, boolean checkHierarchy, boolean checkDisabled, boolean checkJavadoc) { + final PsiClass aClass; + if (element instanceof PsiClass) { + aClass = ((PsiClass)element); + } + else if (element instanceof PsiMethod) { + aClass = ((PsiMethod)element).getContainingClass(); + } + else { + aClass = null; + } + + if (aClass == null || !PsiClassUtil.isRunnableClass(aClass, true, false)) { + return false; + } //LanguageLevel effectiveLanguageLevel = element.getManager().getEffectiveLanguageLevel(); //boolean is15 = effectiveLanguageLevel != LanguageLevel.JDK_1_4 && effectiveLanguageLevel != LanguageLevel.JDK_1_3; boolean hasAnnotation = AnnotationUtil.isAnnotated(element, TEST_ANNOTATION_FQN, checkHierarchy, true); @@ -474,7 +488,7 @@ public class TestNGUtil { } public static boolean isTestNGClass(PsiClass psiClass) { - return hasTest(psiClass, true, false, false); + return hasTest(psiClass); } public static boolean checkTestNGInClasspath(PsiElement psiElement) {