Search code examples
javajunit4inner-classestestcase

Test cases in inner classes with JUnit


I read about Structuring Unit Tests with having a test class per class and an inner class per method. Figured that seemed like a handy way to organize the tests, so I tried it in our Java project. However, the tests in the inner classes doesn't seem to be picked up at all.

I did it roughly like this:

public class DogTests
{
    public class BarkTests
    {
        @Test
        public void quietBark_IsAtLeastAudible() { }

        @Test
        public void loudBark_ScaresAveragePerson() { }
    }

    public class EatTests
    {
        @Test
        public void normalFood_IsEaten() { }

        @Test
        public void badFood_ThrowsFit() { }
    }
}

Does JUnit not support this, or am I just doing it wrong?


Solution

  • public class ServicesTest extends TestBase {
    
       public static class TestLogon{
    
           @Test
           public void testLogonRequest() throws Exception {
             //My Test Code
           }
       }
    }
    

    Making the inner class static works for me.