1
私はエスプレッソとAndroidJunit4ランナーを使用しています。 onCreateまたはonResumeが起動したときにロジックが使用されるように、いくつかのプリファレンスを設定しようとしています。 onView()を実行する前にprefsを呼び出すことは効果がないようです。私は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();
}
}