Подтвердить что ты не робот

Тестирование диалогов с помощью 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.

По достоинству оценят любые идеи по этим темам.

4b9b3361

Ответ 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");