In JUnit test case, a field annotated by @Rule must be public. It breaks a common Java coding convention (all class member variables should not be public). Why does JUnit require this?
Documentation for @Rule: https://github.com/junit-team/junit/blob/master/src/main/java/org/junit/Rule.java
 
     
    