diff --git a/java/execution/impl/src/com/intellij/execution/testframework/AbstractPatternBasedConfigurationProducer.java b/java/execution/impl/src/com/intellij/execution/testframework/AbstractPatternBasedConfigurationProducer.java index 719d8d20763f..1275cf8d5af8 100644 --- a/java/execution/impl/src/com/intellij/execution/testframework/AbstractPatternBasedConfigurationProducer.java +++ b/java/execution/impl/src/com/intellij/execution/testframework/AbstractPatternBasedConfigurationProducer.java @@ -34,6 +34,7 @@ import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.*; import com.intellij.psi.search.PsiElementProcessor; import com.intellij.psi.util.ClassUtil; +import com.intellij.psi.util.PsiTreeUtil; import java.util.ArrayList; import java.util.LinkedHashSet; @@ -163,6 +164,7 @@ public abstract class AbstractPatternBasedConfigurationProducer 0) { + for (PsiClass aClass : psiClasses) { + if (PsiTreeUtil.isAncestor(aClass, element, false)) { + psiClasses = new PsiClass[] {aClass}; + break; + } + } + } + collectTestMembers(psiClasses, checkAbstract, checkIsTest, processor); for (PsiElement psiMember : processor.getCollection()) { classes.add(((PsiClass)psiMember).getQualifiedName()); }