我经常kotlin.UninitializedPropertyAccessException: lateinit property xxx has not been initialized参加我的 Mockito 测试。但该应用程序运行良好。注意:我不想将演示者注入到活动中。提前致谢!
这是我的活动:
class CreateAccountActivity : AppCompatActivity(), CreateAccountView {
private var presenter: CreateAccountPresenter? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_create_account)
presenter = CreateAccountPresenter()
((application) as CariumApp).getDaggerComponent().inject(presenter!!)
presenter?.attachView(this)
}
Run Code Online (Sandbox Code Playgroud)
这是我的主持人:
class CreateAccountPresenter {
private var view: CreateAccountView? = null
@Inject
lateinit var dataManager: DataManager
fun attachView(view: CreateAccountView) {
this.view = view
dataManager.getServiceDocuments(true, object : GetServiceDocumentsListener {
// ...
})
}
Run Code Online (Sandbox Code Playgroud)
这是我的数据管理器:
interface DataManager {
fun getServiceDocuments(latest: Boolean, listener: GetServiceDocumentsListener) …Run Code Online (Sandbox Code Playgroud)