Тестирование диалогов с помощью Robolectric
У меня есть пара вопросов о тестировании классов DialogFragment
с Robolectric, так как я столкнулся с полным отсутствием информации по этой теме в Интернете.
- Каковы правильные аргументы для перехода к
onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
?
-
Мне не удается передать аргументы DialogFragment
, я использую следующий подход:
activity = new Activity();
dialog = new DialogFragment();
Bundle bundle = new Bundle();
dialog.setArguments(bundle);
FragmentManager fm = activity.getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.add(dialog, "fragment");
ft.commit();
Всякий раз, когда код пытается получить доступ к аргументам, он выходит из строя с помощью NullPointerException
.
По достоинству оценят любые идеи по этим темам.
Ответы
Ответ 1
Вы используете DialogFragment
неправильно. Вы не должны передавать фрагмент, но вызывайте show
на DialogFragment
.
activity = new Activity();
dialog = new DialogFragment();
Bundle bundle = new Bundle();
dialog.setArguments(bundle);
FragmentManager fm = activity.getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
dialog.show(ft, "fragment");