我是Android开发的新手。我正在开发我的第一个项目,并希望将Robolectric用于我的单元测试。
由于我有点迷失,我的问题很简单:如何在点击Drawer Navigation
中的项目时测试正确的行为。我主要是询问如何模拟项目的点击。
提前致谢。
您可以使用以下阴影:
ListView lvMenu = (ListView)mMainActivity.findViewById(R.id.lvMenu);
Shadows.shadowOf(lvMenu).performItemClick(0); //click first item
Shadows.shadowOf(lvMenu).performItemClick(1); //click second item
这是注销MenuItem的示例。
@Before
public void setUp() {
TestActivity activity = Robolectric.setupActivity(TestActivity.class);
}
@Test
public void onNavigationItemSelected(){
// logout MenuItem
activity.onNavigationItemSelected(new RoboMenuItem(R.id.logout));
verify(presenter).logout();
}
测试活动:
@Override
public boolean onNavigationItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.logout) {
presenter.logout();
}
DrawerLayout drawer = findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
return true;
}