android - 如何使用 Robolectric 将 Intent 传递给 Fragment

标签 android unit-testing robolectric

我通过以下方式传递另一个 Activity 的 Intent :

Intent intent = new Intent(getActivity(), MyActivity.class);
intent.putExtra("type, "email);
startActivity(intent);

在我的 fragment 中我有:

Intent intent = getActivity().getIntent();
String viewType = intent.getStringExtra("type);

在 Robolectric 3.3 中,我通过以下方式设置 Activity 和 Fragment:

mMyActivity = Robolectric.setupActivity(mMyActivity.class);

mMyFragment = new mMyFragment();
SupportFragmentTestUtil.startVisibleFragment(mMyFragment);

如何将 Intent 发送到 MyActivity 类,以便 Fragment 可以正确调用 getActivity().getIntent().getStringExtra("type");

最佳答案

你可以这样做:

Intent intent = new Intent(getActivity(), MyActivity.class);
intent.putExtra("type, "email);
Robolectric.buildActivity(MainActivity.class, intent).create().start().resume()

关于android - 如何使用 Robolectric 将 Intent 传递给 Fragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43192537/

相关文章:

java - OnCreate 方法中的 Android NullPointerException

c# - 如何使用 Entity Framework Core 模拟异步存储库

android - 如何查看ParseException

android - 获取 "Hangout Message"的铃声标题时,我得到 11?

android - 在 Android 上为 imageview 下载图像

javascript - 预期 [ ] 为 [ ] Jasmine,如何检查空数组

django 测试 - 如何获取响应数据以备将来使用

android - 使用 dagger2 进行 Robolectric 测试 Activity

android - 使用 Robolectric 时 Android 库项目的代码覆盖率

java - 如何模拟(或)测试 Android 中的方法级变量?