Я использую эспрессо и бегун AndroidJunit4. Я пытаюсь установить некоторые предпочтения, так что когда onCreate или onResume срабатывает, эта логика будет задействована. Кажется, что вызов prefs перед выполнением onView() не влияет. Я печатаю предпочтения в onResume и onCreate, и они пусты. Обратите внимание на тестовый пример shouldOpenVerifyFragement().Состояние настроек перед запуском теста
Любые мысли или предложения о том, как это сделать?
@RunWith(AndroidJUnit4.class)
@LargeTest
public class DriverActivityTest {
@Rule
public final ActivityTestRule<DriverActivity> sut = new ActivityTestRule<>(DriverActivity.class);
@Test
public void shouldOpenVerifyFragement() {
Log.d("TEST", "shouldOpenVerifyFragment");
SharedPreferences settings = sut.getActivity().getSharedPreferences(APP_PREFS, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("status", Boolean.valueOf(false));
editor.putString("token", "token");
editor.commit();
onView(withText("Pin Verify")).check(matches(isDisplayed()));
}
/**
* Clears everything in the SharedPreferences
*/
@Before
@After
public void clearSharedPrefs() {
SharedPreferences settings = sut.getActivity().getSharedPreferences(APP_PREFS, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
editor.clear();
editor.commit();
}
}