Android Kotlin Espresso Mockito Тестирование и проверка Навигационный контроллер фрагмента перемещается к 2 условным фрагментам в качестве пункта назначения - PullRequest
0 голосов
/ 25 июня 2019

В моем приложении я тестирую навигационные компоненты, используя контроллер навигации, используя Kotlin lang, инфраструктуру Espresso и Mockito.Приложение имеет несколько фрагментов.Несколько тестов работают нормально.Но не умеет работать со следующим scenerio

Существует фрагмент, предполагаемое имя фрагмента2, фрагмент2 переходит к фрагменту3 и фрагменту4 в зависимости от условия, которое вводит пользователь, предоставивший во фрагменте2

Просто хочу понять, как это будет работать.Ниже приведен мой код для другого теста, который работает нормально для фрагмента 4 во фрагмент 2 (где фрагмент 4 всегда перенаправляет фрагмент 2, то есть одиночную навигацию)

  @Test
fun testNavigationFromGameOverToGameFragment() {
    // Create a mock NavController
    val mockNavController = mock(NavController::class.java)

    // Create a graphical FragmentScenario for the TitleScreen
    val gameOver = launchFragmentInContainer<GameOverFragment>(themeResId 
= R.style.AppTheme)

    // Set the NavController property on the fragment
    gameOver.onFragment { fragment ->
        Navigation.setViewNavController(fragment.requireView(), 
mockNavController)
    }

    // Verify that performing a click prompts the correct Navigation 
action

onView (ViewMatchers.withId (R.id.tryAgainButton)).perform (ViewActions.click ())

verify (mockNavController) .navigate (R.id.action_gameOverFragment_to_gameFragment)}

Мне нужен подход для того же

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...