Why Junit test cases(Methods) should be public?
Yes, the test runner is using reflection behind the scenes to find out what your test methods are and how to call them.
If the methods were not public
, calling them might fail (because the SecurityManager gets to veto that).