小编Myk*_*ola的帖子

Android Mockito kotlin.UninitializedPropertyAccessException:lateinit 属性 dataManager 尚未初始化

我经常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)

mvp android mockito kotlin dagger-2

5
推荐指数
1
解决办法
4098
查看次数

标签 统计

android ×1

dagger-2 ×1

kotlin ×1

mockito ×1

mvp ×1