From 7fdbbc6abd246747033218ac908e0381f7774c32 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Wed, 1 Jul 2020 19:39:39 +0200 Subject: [PATCH] testng: disable run yaml when no testng can be detected in the classpath (IDEA-244870) GitOrigin-RevId: 6ed0070692c7db55b6697b8d7a3ee856a7aeeba1 --- .../AbstractTestNGSuiteConfigurationProducer.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/plugins/testng/src/com/theoryinpractice/testng/configuration/AbstractTestNGSuiteConfigurationProducer.java b/plugins/testng/src/com/theoryinpractice/testng/configuration/AbstractTestNGSuiteConfigurationProducer.java index 1a7f0b8e0538..c30889f141d3 100644 --- a/plugins/testng/src/com/theoryinpractice/testng/configuration/AbstractTestNGSuiteConfigurationProducer.java +++ b/plugins/testng/src/com/theoryinpractice/testng/configuration/AbstractTestNGSuiteConfigurationProducer.java @@ -6,6 +6,7 @@ import com.intellij.execution.actions.ConfigurationContext; import com.intellij.openapi.module.Module; import com.intellij.openapi.util.Ref; import com.intellij.openapi.vfs.VirtualFile; +import com.intellij.psi.JavaPsiFacade; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; import com.theoryinpractice.testng.model.TestType; @@ -20,6 +21,10 @@ public class AbstractTestNGSuiteConfigurationProducer extends TestNGConfiguratio final PsiElement element = context.getPsiLocation(); final PsiFile containingFile = element != null ? element.getContainingFile() : null; if (containingFile == null) return false; + if (JavaPsiFacade.getInstance(configuration.project) + .findClass(TestNGUtil.TEST_ANNOTATION_FQN, containingFile.getResolveScope()) != null) { + return false; + } final VirtualFile virtualFile = containingFile.getVirtualFile(); if (virtualFile == null || !virtualFile.isValid()) return false; if (!TestNGUtil.isTestngSuiteFile(virtualFile)) return false;