Почему TogglzRule должен быть объявлен публичным?

Если я объявляю TogglzRule в модульном тесте, он должен быть публичным, в противном случае будет выдано исключение: java.lang.Exception: The @Rule 'togglzRule' must be public.

Раньше я объявлял участников закрытыми, почему это невозможно?

1 ответ

Решение

Это ограничение JUnit. Требуется, чтобы внедрение правила работало без каких-либо "подвохов". Из ага @Rule:

Аннотирует поля, которые ссылаются на правила или методы, которые возвращают правило. Поле должно быть открытым, а не статическим, а подтип org.junit.rules.TestRule (предпочтительно) или org.junit.rules.MethodRule,

Другие вопросы по тегам