lateinit属性主持人还没有被EasyMVP,Robolectric和Kotlin初始化

尝试使用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注释处理的问题。 有没有解决方案?