title: Why Junit test cases(Methods) should be public?
body: <p>I just want to know why the test cases (test methods) should be public
  like this</p>
  
  <pre><code>public class SpiceLoginTest {
      @Test
      public void testShouldVerifyLoginRequest() {
      }  
  }
  </code></pre>
  
  <p>but if I remove public access specifier from this method</p>
  
  <pre><code>    @Test
      void testShouldVerifyLoginRequest() {
      }
  </code></pre>
  
  <p>Output: java.lang.Exception: Method testShouldVerifyLoginRequest() should be public</p>
  
  <p>so</p>
  
  <ol>
  <li><p>What is happening behind the scenes?</p></li>
  <li><p>Is it using reflection or what?</p></li>
  </ol>