[ https://jira.codehaus.org/browse/SUREFIRE-944?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kristian Rosenvold closed SUREFIRE-944. --------------------------------------- Resolution: Fixed Fix Version/s: 2.15 Assignee: Kristian Rosenvold Thanks for the suggested patch and test case! Patch applied with significant modifications in b45fb4a46322c934edc9f8cc5391723eadbcd00d. > Surefire does not execute tests on abstract classes that contain static > nested classes > -------------------------------------------------------------------------------------- > > Key: SUREFIRE-944 > URL: https://jira.codehaus.org/browse/SUREFIRE-944 > Project: Maven Surefire > Issue Type: Bug > Components: Maven Surefire Plugin > Affects Versions: 2.13 > Reporter: Geoff Denning > Assignee: Kristian Rosenvold > Fix For: 2.15 > > > If a test class is abstract or interface, but contains a nested concrete > static class, Surefire won't find the enclosed tests, even when > @RunWith(Enclosed.class) is specified. For example: > import org.junit.Test; > import org.junit.experimental.runners.Enclosed; > import org.junit.runner.RunWith; > @RunWith(Enclosed.class) > public abstract class TopLevelAbstractClassTest { > public static class InnerTest { > @Test > public void testSomething() { > } > } > } > The reason why this is an issue is that projects such as Hystrix > (https://github.com/Netflix/Hystrix) put unit tests inside nested classes in > the implementation classes. Currently Hystrix uses Gradle, but I am working > to Mavenize the project. > The problem appears to be in JUnit4TestChecker.isValidJUnit4Test, which > ensures that the class is not abstract before checking the RunWith annotation. > I've created an integration test and potential fix which are available here: > https://github.com/gdenning/maven-surefire/commit/bc376f8dbbd6611bd9a645c8a53c80b4f450aac6 > I haven't submitted a pull request yet because the integration tests aren't > picking up my code changes for some reason so the test is still failing. If I > get it working I will submit a pull request on GitHub. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira