我在尝试使用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上,每个活动都在演示者中初始化附加内容。
我试图在我的应用程序中引入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注释处理的问题。对此有什么解决方案吗?