Shu*_*hen 30 java junit public junit-rule
在JUnit测试用例中,注释的字段@Rule必须是公共的.它打破了常见的Java编码约定(所有类成员变量都不应该是公共的).为什么JUnit需要这个?
文档@Rule:https://github.com/junit-team/junit/blob/master/src/main/java/org/junit/Rule.java
K E*_*son 30
JUnit运行器需要反射访问该字段以运行规则.如果该字段是私有的,则访问将抛出IllegalAccessException.
另一种选择是让跑步者在运行规则之前修改从私人到公共的访问.但是,如果启用了安全管理器,则可能会导致问题.
如果要避免在测试类中使用公共字段,可以从JUnit 4.11注释返回Rulewith @Rule或的方法@ClassRule.
| 归档时间: |
|
| 查看次数: |
4257 次 |
| 最近记录: |