测试使用父级底部导航视图的片段 activity

Testing a fragment that uses bottom navigation view of a parent activity

我正在尝试对某些使用来自 MainActivity 的共享底部导航视图的片段进行隔离测试 UI,这些片段基本上用于导航和上下滚动,但我的测试基本上因 nullpointerException 而失败因为在片段布局中找不到底部导航视图中的按钮。 我的问题是如何将这些属于 mainactivity 的布局传递给 fragmentTest class.

FragmentScenario 是错误的方法,因为 Fragment 甚至不应该依赖于父级 Activity(如果依赖,请始终检查 instanceofisActivity 它实际附加到哪一个)。最好用 ActivityTestRule 代替父 Activity,因为 FragmentScenario 使用它自己的模拟 Activity,所以你永远不会得到预期的一个父 Activity(这是故意的,为了排除对父 Activity 的严格依赖)。只需在您当前的测试代码中设置一个断点,以查看没有 BottomNavigationView 存在,因为它还没有被膨胀。

还有一个新的 ActivityScenario(目前仍处于测试阶段)。