@RunWith(AndroidJUnit4.class)
@LargeTest
public class ShowDialogUiTest {
// Activity は起動できて副作用がないやつならなんでもよい
@Rule
public ActivityTestRule mActivityRule = new ActivityTestRule<>(LoginActivity.class);
@Test
public void showDialog() throws Throwable {
mActivityRule.runOnUiThread(new Runnable() {
@Override
public void run() {
// Dialog は Window token のある context が必要なので Context として Activity を使う
new AlertDialog.Builder(mActivityRule.getActivity())
.setTitle(R.string.title)
.setMessage(R.string.message)
.setPositiveButton(android.R.string.yes, null)
.setNegativeButton(android.R.string.no, null)
.setCancelable(false)
.show();
}
});
onView(withText(R.string.message)).check(matches(isDisplayed()));
}
}
ActivityTestRule の対象にする Activity は「androidTest に DummyActivity を用意する」みたいな方法をとりたかったんだけど、アプリとテストで apk が分かれるので無理そうだ ↓ http://stackoverflow.com/questions/36276909/create-dummyactivity-inside-androidtest-folder-for-testing
0 件のコメント:
コメントを投稿