From 44170f84d19c898fc2ce402113f4f31a90141b05 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Tue, 20 Jun 2017 13:19:23 +0300 Subject: [PATCH] junit: treat test methods in abstract test cases as tests (IDEA-174710) --- .../com/intellij/testIntegration/JavaTestFramework.java | 4 ---- .../src/com/intellij/testIntegration/TestFramework.java | 4 ++++ .../src/com/siyeh/ig/psiutils/TestUtils.java | 2 +- .../TestCaseWithNoTestMethods.java | 8 +++++++- .../ig/junit/TestCaseWithNoTestMethodsInspectionTest.java | 4 +++- 5 files changed, 15 insertions(+), 7 deletions(-) diff --git a/java/java-impl/src/com/intellij/testIntegration/JavaTestFramework.java b/java/java-impl/src/com/intellij/testIntegration/JavaTestFramework.java index 695c477e7131..02467f532e10 100644 --- a/java/java-impl/src/com/intellij/testIntegration/JavaTestFramework.java +++ b/java/java-impl/src/com/intellij/testIntegration/JavaTestFramework.java @@ -172,10 +172,6 @@ public abstract class JavaTestFramework implements TestFramework { return isTestMethod(element, true); } - public boolean isTestMethod(PsiElement element, boolean checkAbstract) { - return isTestMethod(element); - } - public boolean isMyConfigurationType(ConfigurationType type) { return false; } diff --git a/platform/core-api/src/com/intellij/testIntegration/TestFramework.java b/platform/core-api/src/com/intellij/testIntegration/TestFramework.java index 90cdcea414e5..277d510df70e 100644 --- a/platform/core-api/src/com/intellij/testIntegration/TestFramework.java +++ b/platform/core-api/src/com/intellij/testIntegration/TestFramework.java @@ -73,6 +73,10 @@ public interface TestFramework { * should be checked for abstract method error */ boolean isTestMethod(PsiElement element); + + default boolean isTestMethod(PsiElement element, boolean checkAbstract) { + return isTestMethod(element); + } @NotNull Language getLanguage(); diff --git a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/psiutils/TestUtils.java b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/psiutils/TestUtils.java index 3353c198d078..1d324d2e38e6 100644 --- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/psiutils/TestUtils.java +++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/psiutils/TestUtils.java @@ -65,7 +65,7 @@ public class TestUtils { final PsiClass containingClass = method.getContainingClass(); if (containingClass == null) return false; final TestFramework framework = TestFrameworks.detectFramework(containingClass); - return framework != null && framework.getName().startsWith("JUnit") && framework.isTestMethod(method); + return framework != null && framework.getName().startsWith("JUnit") && framework.isTestMethod(method, false); } public static boolean isRunnable(PsiMethod method) { diff --git a/plugins/InspectionGadgets/test/com/siyeh/igtest/junit/test_case_with_no_test_methods/TestCaseWithNoTestMethods.java b/plugins/InspectionGadgets/test/com/siyeh/igtest/junit/test_case_with_no_test_methods/TestCaseWithNoTestMethods.java index 559dcce72720..499dff447566 100644 --- a/plugins/InspectionGadgets/test/com/siyeh/igtest/junit/test_case_with_no_test_methods/TestCaseWithNoTestMethods.java +++ b/plugins/InspectionGadgets/test/com/siyeh/igtest/junit/test_case_with_no_test_methods/TestCaseWithNoTestMethods.java @@ -16,4 +16,10 @@ public class