如果我在单元测试中声明TogglzRule,它必须是公共的,否则会抛出异常:java.lang.Exception: The @Rule 'togglzRule' must be public.
我曾经宣称成员是私人的,为什么这不可能?
答案 0 :(得分:6)
这是一个JUnit限制。需要在不做任何“肮脏技巧”的情况下注入规则工作。来自@Rule
的javadoc:
注释引用返回规则的规则或方法的字段。字段必须是公开的,而不是静态的,并且子类型为
org.junit.rules.TestRule
(首选)或org.junit.rules.MethodRule
。