Как проверить поток через несколько действий на jvm?

У меня есть действие, которое запускается при нажатии кнопки с новыми дополнительными данными через намерение. Для этого занятия я провел тест. Он отлично работает, если будет запущен на устройстве. Теперь я попытался запустить его только на jvm.

Нормальный поток - запуск тестируемого действия. Текстfield_to_testэто "первый текст". Нажата "следующая кнопка". Действие будет воссоздавать само себя в текстеfield_to_test должен быть "второй текст".

На любом оборудовании он отлично работает. Если тест выполняется на JVM, текст "field_to_test" по-прежнему остается "первым текстом" после нажатия кнопки.

package com.example.package;
// tons of imports

@RunWith(AndroidJUnit4.class)
public class SampleTest{

    private ActivityTestRule<SampleTest> rule = new ActivityTestRule<SampleTest>(SampleTest.class, false,false);

    // ...

    @Test
    public void showActivityAndCheckDisplayedComponents() throws InterruptedException {
        Intent intent = new Intent(getApplicationContext(), SampleTest.class);
        intent.putExtra("sampleInfo", 1);
        rule.launchActivity(intent);

        // check the correct text
        onView(withId(R.id.field_to_test)).check(matches(withText("first Text")));

        // push the Button
        onView(withId(R.id.next_button))
                .check(matches(isDisplayed()))
                .perform(click());

        //sleep doesn't help
        Thread.sleep(100);

        // here the test on fails on the jvm
        onView(withId(R.id.field_to_test)).check(matches(withText("second text")));
    }
    // ...
}

Как решить эту проблему?

0 ответов

Другие вопросы по тегам