Why Junit test cases(Methods) should be public?
<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>