Я занимаюсь тестированием эспрессо в Android. Тест не пройден с этой ошибкой:
java.lang.ClassCastException:
androidx.fragment.app.testing.FragmentScenario $ EmptyFragmentActivity
нельзя привести к com.stavro_xhardha.pockettreasure.MainActivity
Это мой метод испытаний:
@Test
fun toolbarTitle_shouldContainCorrectInput() {
val mockNavController = mock(NavController::class.java)
val fragmentScenario = launchFragmentInContainer<SetupFragment>()
fragmentScenario.onFragment {
Navigation.setViewNavController(it.view!! , mockNavController)
}
onView(withId(R.id.toolbar)).check(matches(withText("Pick your country")))
}
Но ошибка не из класса Test, а из моего тестируемого фрагмента.
Авария выполняется в этой строке кода:
override fun onStart() {
super.onStart()
(activity!! as MainActivity).supportActionBar?.hide() //here
}
Чего я не понимаю, так это того, что при нормальном запуске приложения без теста я не сталкиваюсь с ошибкой.