gpt4 book ai didi

java - 如何使用 Robolectric 在 Android 中测试菜单

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:38:08 25 4
gpt4 key购买 nike

我需要使用 Robolectric 为 Android 应用程序中的菜单编写测试。

菜单源代码:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return super.onCreateOptionsMenu(menu);
}

@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
switch (item.getItemId()) {
case R.id.exit:
this.finish();
break;
default:
Toast.makeText(this, getString(R.string.errMsg), Toast.LENGTH_SHORT).show();
break;
}
return super.onMenuItemSelected(featureId, item);
}

请帮忙写测试

最佳答案

以下示例对于任何刚开始使用 Robolectric 的人来说都是一个很好的例子。它在 AndroidStudio 下使用 Robolectric 3.0。

@RunWith(RobolectricGradleTestRunner.class)
@Config(constants = BuildConfig.class, sdk = 19)
public class MainActivityTest {
@Test
public void shouldCloseActivity() {
MainActivity activity = Robolectric.setupActivity(MainActivity.class);
MenuItem menuItem = new RoboMenuItem(R.id.exit);
activity.onOptionsItemSelected(menuItem);
ShadowActivity shadowActivity = Shadows.shadowOf(activity);
assertTrue(shadowActivity.isFinishing());
}
}

关于java - 如何使用 Robolectric 在 Android 中测试菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21856053/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com