我正在使用MockK库进行单元测试
我想模拟以下方法的响应
private fun removeDuplicatesResponse(bloodGlucoseDuplicateIds: List<String>, eventDuplicateIds: List<String>): Promise<Void, Throwable, Void> {
val task = object : DeferredAsyncTask<Void, Void, Void>() {
@Throws(Exception::class)
override fun doInBackgroundSafe(vararg params: Void): Void? {
return null
}
}
task.executeOnExecutor(mExecutorService)
return task.promise()
}
我在每个{}块下面使用
every { mEventService.removeDuplicates(any(), any()).waitSafely() } answers { response() }
和下面的假响应响应方法
private fun response(): Promise<Void, Throwable, Void> {
val task = object : DeferredAsyncTask<Void, Void, Void>() {
@Throws(Exception::class)
override fun doInBackgroundSafe(vararg params: Void): Void? {
return null
}
}
task.executeOnExecutor(mExecutorService)
return task.promise()
}
但是当我尝试执行removeDuplicatesResponse()时,它什么也不做,并且会不断执行
任何人有任何想法,然后请让我知道谢谢