Espresso launchFragmentInContainer<> 绑定问题

Espresso launchFragmentInContainer<> binding issue

我有一个像这样的简单测试函数:

@Test
fun testfunc() {
    val fragScenario = launchFragmentInContainer<MyFragment>()
}

launchFragmentInContainer 向我提供了这个错误: 二进制 XML 文件行 #10:无法解析索引 1 处的属性:TypedValue{t=0x2/d=0x7f040004 a=-1} 原因:java.lang.UnsupportedOperationException

这让我发现绑定充气器出了问题。

override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
    _binding = MyFragmentBinding.inflate(inflater, container, false)
    return binding.root
}

我假设视图绑定不适用于像这样的孤立片段?我是否需要创建一个没有视图绑定的全新片段来进行测试?

fragment testing documentation中有一个注释:

Note: Your fragment might require a theme that the test activity doesn't use by default. You can provide your own theme as an additional argument to launch() and launchInContainer().

当存在 activity 不知道的样式值时,通常会发生此错误。请务必通过 themeResId 参数传递您的应用或片段样式。