launchFragment 在测试时显示错误

launchFragment while testing showing error

使用本指南测试对话框https://developer.android.com/guide/fragments/test 底部样本

with(launchFragment<MyDialogFragment>()) {
        onFragment { fragment -> // here error
            assertThat(fragment.dialog).isNotNull()
            assertThat(fragment.requireDialog().isShowing).isTrue()
            fragment.dismiss()
            fragment.parentFragmentManager.executePendingTransactions()
            assertThat(fragment.dialog).isNull()
        }
    }

但是这里显示错误

 onFragment { fragment -> // error below

类型不匹配。 必需的: FragmentScenario.FragmentAction 成立: (???) → 单位 无法推断此参数的类型。请明确指定

伙计们,解决方案是 Kotlin 版本。所以在 studio 中更新 Kotlin 插件解决了这个问题

解决方法是更改​​模块build.gradle中的kotlin版本。

buildscript {
    ext {
        ...
        kotlin_version = "1.5.31"
    }
}

我原来的 kotlin 版本是 1.3.x,它发生了同样的错误。

然后我去github找向导,发现that