我正在跟随这个Google Codelab,在第8页(任务:使用数据绑定进行端到端测试)的第8步(编写DataBindingIdlingResource),您需要创建一个名为DataBindingIdlingResource.kt
的文件。
class DataBindingIdlingResource : IdlingResource {
[...]
}
private fun View.getBinding(): ViewDataBinding? = DataBindingUtil.getBinding(this)
/**
* Sets the activity from an [ActivityScenario] to be used from [DataBindingIdlingResource].
*/
fun DataBindingIdlingResource.monitorActivity(
activityScenario: ActivityScenario<out FragmentActivity>
) {
activityScenario.onActivity {
this.activity = it
}
}
/**
* Sets the fragment from a [FragmentScenario] to be used from [DataBindingIdlingResource].
*/
fun DataBindingIdlingResource.monitorFragment(fragmentScenario: FragmentScenario<out Fragment>) {
fragmentScenario.onFragment {
this.activity = it.requireActivity()
}
}
问题:
最后一个函数fun DataBindingIdlingResource.monitorFragment
存在问题,因为fragmentScenario.onFragment
只提供了onFragment(action: Nothing)
而不是onFragment {}
。
如何解决这个问题?
谢谢。
Nothing
类型。https://developer.android.com/reference/kotlin/androidx/fragment/app/testing/FragmentScenario#onfragment - dazza5000