4

对于我的测试,我在 emtpy 活动根视图容器中启动片段

@Before
fun init() {
    scenario = launchFragmentInContainer(null, R.style.Theme_AppCompat) {
        MyFragment()
    }
}

在我的片段中,我将工具栏配置为提供后退按钮

(activity as AppCompatActivity).setSupportActionBar(binding.toolbar)
(activity as AppCompatActivity).supportActionBar?.setDisplayHomeAsUpEnabled(true)

所以当我运行我的测试时,我得到了一个类转换异常

java.lang.ClassCastException: androidx.fragment.app.testing.FragmentScenario$EmptyFragmentActivity cannot be cast to androidx.appcompat.app.AppCompatActivity

所以我必须添加一个守卫

if(requireActivity() !is FragmentScenario.EmptyFragmentActivity)
    configureToolBar()    

那么是否有另一种配置工具栏的方法,以便我可以使用浓缩咖啡测试后退按钮意图启动?

编辑

显然有一种方法可以创建自定义活动/容器。

4

0 回答 0