【发布时间】:2018-03-08 08:28:26
【问题描述】:
我有一个从存储库中检索项目列表的函数。我没有使用常规回调,而是传入一个函数并使用结果调用它。但是你怎么能对这种功能进行单元测试。有什么方法可以验证传入的函数是否被调用,或者我应该重构并使用常规回调并使用模拟回调接口对其进行测试?
我的代码:
class WorklistInteractor @Inject
constructor(private val worklistRepository: WorklistRepository,
private val preferenceManager: PreferenceManager,
private val executor: Executor)
: WorklistDialogContract.Interactor, Executor by executor {
@Volatile private var job: Job? = null
override fun getWorklist(callback: (Result<List<WorklistItem>>) -> Unit) {
job = onWorkerThread {
val result = worklistRepository.getWorklist().awaitResult()
onMainThread { callback(result) }
}
}
override fun cancel() {
job?.cancel()
}
}
【问题讨论】:
标签: android unit-testing kotlin