Робоэлектрик с фрагментами AndroidX - PullRequest
0 голосов
/ 08 сентября 2018

Как проверить фрагмент AndroidX с помощью Robolectric?

Я добавил testImplementation "org.robolectric:shadows-supportv4:4.0-alpha-3" зависимость и попробовал с этим кодом:

val controller = SupportFragmentController.setupFragment(
            TestableFragment.buildFragment(DATA),
            TestableFragmentHolderActivity::class.java)

TestableFragment равно androidx.fragment.app.Fragment, а TestableFragmentHolderActivity равно androidx.appcompat.app.AppCompatActivity

Но я получаю ошибку во время теста:

java.lang.NoSuchMethodError: org.robolectric.shadows.support.v4.SupportFragmentController.setupFragment (Landroidx / фрагмент / app / Fragment; Ljava / lang / Class;) Landroidx / фрагмент / app / Fragment;

Ответы [ 2 ]

0 голосов
/ 12 ноября 2018

Существует новый способ тестирования фрагментов с помощью новейшего API Robolectric.Отметьте официальный документ . Вам нужно будет создать FragmentScenario

val fragmentScenario = launchFragmentInContainer<MyFragment>()

, а затем протестировать, как вы обычно делаете с Espresso

onView(withId(R.id.text)).check(matches(withText("Hello World!")))
0 голосов
/ 30 октября 2018

Пожалуйста, обратитесь к этой проблеме git: https://github.com/robolectric/robolectric/issues/3985. Скоро будет выпущен новый фрагмент API для AndroidX.

...