Как проверить поток через несколько действий на 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")));
}
// ...
}
Как решить эту проблему?