diff --git a/instrumentation/core/src/androidTest/java/de/mannodermaus/junit5/inheritance/TestExecutor.kt b/instrumentation/core/src/androidTest/java/de/mannodermaus/junit5/inheritance/TestExecutor.kt new file mode 100644 index 00000000..bc484009 --- /dev/null +++ b/instrumentation/core/src/androidTest/java/de/mannodermaus/junit5/inheritance/TestExecutor.kt @@ -0,0 +1,14 @@ +package de.mannodermaus.junit5.inheritance + +import org.junit.jupiter.api.Assertions.assertNotNull +import org.junit.jupiter.api.Test + +abstract class TestExecutor { + + @Test + fun executeTest() { + assertNotNull(getFilename()) + } + + abstract fun getFilename(): String? +} \ No newline at end of file diff --git a/instrumentation/core/src/androidTest/java/de/mannodermaus/junit5/inheritance/TestImplementation.java b/instrumentation/core/src/androidTest/java/de/mannodermaus/junit5/inheritance/TestImplementation.java new file mode 100644 index 00000000..18a0c1b8 --- /dev/null +++ b/instrumentation/core/src/androidTest/java/de/mannodermaus/junit5/inheritance/TestImplementation.java @@ -0,0 +1,9 @@ +package de.mannodermaus.junit5.inheritance; + +public class TestImplementation extends TestExecutor { + + @Override + public String getFilename() { + return "test"; + } +} diff --git a/instrumentation/runner/src/main/kotlin/de/mannodermaus/junit5/AndroidJUnit5Builder.kt b/instrumentation/runner/src/main/kotlin/de/mannodermaus/junit5/AndroidJUnit5Builder.kt index 4c2eb1e6..cc151fb3 100644 --- a/instrumentation/runner/src/main/kotlin/de/mannodermaus/junit5/AndroidJUnit5Builder.kt +++ b/instrumentation/runner/src/main/kotlin/de/mannodermaus/junit5/AndroidJUnit5Builder.kt @@ -65,6 +65,19 @@ public class AndroidJUnit5Builder : RunnerBuilder() { } if (testClass.jupiterTestMethods().isEmpty()) { + + var C: Class<*>? = testClass + while (C != null) { + + C = C.superclass + + if(C != null) { + if(!C.jupiterTestMethods().isEmpty()) { + return createJUnit5Runner(testClass) + } + } + } + return null }