cap*_*o11 4 data-binding testing android android-espresso google-codelab
我正在关注这个 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()
}
}
Run Code Online (Sandbox Code Playgroud)
问题:
是最后一个函数fun DataBindingIdlingResource.monitorFragment,因为fragmentScenario.onFragment仅提供onFragment(action: Nothing)而不提供onFragment {}。
我该如何解决这个问题?谢谢。
小智 7
我通过将定义更改为解决了这个问题
fun <T : Fragment> DataBindingIdlingResource.monitorFragment(fragmentScenario: FragmentScenario<T>) {
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
705 次 |
| 最近记录: |