Почему TogglzRule должен быть объявлен публичным?
Если я объявляю TogglzRule в модульном тесте, он должен быть публичным, в противном случае будет выдано исключение: java.lang.Exception: The @Rule 'togglzRule' must be public.
Раньше я объявлял участников закрытыми, почему это невозможно?
1 ответ
Решение
Это ограничение JUnit. Требуется, чтобы внедрение правила работало без каких-либо "подвохов". Из ага @Rule
:
Аннотирует поля, которые ссылаются на правила или методы, которые возвращают правило. Поле должно быть открытым, а не статическим, а подтип
org.junit.rules.TestRule
(предпочтительно) илиorg.junit.rules.MethodRule
,