Android ActivityScenarioRule продолжает выдавать ошибку «Не найдено действий» при запуске нескольких тестов - PullRequest
0 голосов
/ 03 мая 2019

Я использую (новое) ActivityScenarioRule to UI тесты в моем приложении для Android. Я тестирую несколько фрагментов, каждый в своем отдельном классе. В @Before я перейду к экрану, который буду тестировать. Я пробовал новый FragmentScenario ранее, но у меня было много проблем с неудачными тестами без видимой причины, поэтому я переключился на запуск с активности по умолчанию.

Вот как выглядят тестовые классы:

@RunWith(AndroidJUnit4::class)
class EventDetailsFragmentTest {

    @get:Rule
    var activityScenarioRule = ActivityScenarioRule<LoginOrRegisterActivity>(LoginOrRegisterActivity::class.java)

    private lateinit var uiDevice: UiDevice

    @Before
    fun goToScreen() {
        NavigationUtil.goToNewEventScreen()
        uiDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
    }

    @Test
    fun eventDetailsFragment_buttonsOpenCorrectScreen() {
        onView(withId(R.id.btn_event_details_audio)).perform(click())
        ...
    }

    @Test
    fun eventDetailsFragment_enterEventTitle() {
        ...
    }

    @Test
    fun eventDetailsFragment_saveEventWithoutTitleEntered_errorMessage() {
        onView(withId(R.id.btn_event_details_send)).perform(click())
        ...
    }

    @Test
    fun eventDetailsFragment_saveEvent_showsSuccess() {
        onView(withId(R.id.btn_event_details_send)).perform(click())
        ...
    }
}

При запуске (connectedCheck) я случайно получаю следующую ошибку один или несколько раз:

1) mainScreenFragment_buttonsOpenCorrectScreen(be.hogent.faith.faith.cityScreen.CityScreenFragmentTest)
05:25:24 V/InstrumentationResultParser: java.lang.RuntimeException: No activities found. Did you forget to launch the activity by calling getActivity() or startActivitySync or similar?

Я думал, что сценарию Activity не понадобится ничего, кроме правила, но должен ли я делать больше? Как вдруг активность исчезает?

...