首页 > 解决方案 > 如何模拟系统覆盖方法的回调结果 - android?

问题描述

我有一堂课,我有一个回调。这个回调不是来自我自己的接口,而是来自系统接口。我需要那个回调结果,因为我使用它的参数来初始化我在公共方法中测试的对象。

简单的例子。

我有一个成员变量 var result = 0

我的回调

override fun updateData(initObject : Object){
    result = initObject.getInstance
}

我的方法是

 fun myMethod(){
    result?.let {
        doSomething()
    } ?: Log.e("tag", "result is null exception")
}

所以在这里,因为我无法触发 updateData 回调,我的结果始终为空,并且在myMethod()方法中它始终进入异常路径

如何以正确的方式初始化结果以能够控制它?

标签: androidunit-testingkotlinjunit

解决方案


推荐阅读