尚未使用EasyMVP,Robolectric和Kotlin初始化lateinit属性演示者

时间:2018-01-13 23:30:20

标签: android kotlin robolectric android-mvp

我在尝试使用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注释处理的问题。对此有什么解决方案吗?

0 个答案:

没有答案