1

我在尝试使用 Robolectric 测试使用 EasyMvp 的活动时遇到问题。所有的类都是用 Kotlin 编写的。

这是活动的开始:

@ActivityView(layout = R.layout.activity_access, presenter = AccessPresenterImpl::class)
class AccessActivity : BaseActivity(), AccessView {

@Presenter
lateinit var presenter: AccessPresenter

override fun providePresenter(): BasePresenter? {
    return presenter
}

在 onStart 时,每个活动都在 Presenter 中初始化 extras。

我试图在我的应用程序中引入 Robolectric 测试。

var activity: AccessActivity? = null
var loginEditText: EditText? = null
var passwordEditText: EditText? = null

@Before
fun initData() {
    activity = Robolectric.setupActivity(AccessActivity::class.java)
    loginEditText = activity?.findViewById(R.id.loginEditText)
    passwordEditText = activity?.findViewById(R.id.passwordEditText)
}

但是在运行测试时,我总是遇到错误:

kotlin.UninitializedPropertyAccessException: lateinit property presenter has not been initialized

我认为这是 Robolectric 注释处理的问题。有什么解决办法吗?

4

0 回答 0