Java 使用协程和Mockito的数据源类和改进单元测试

Java 使用协程和Mockito的数据源类和改进单元测试,java,android,unit-testing,kotlin,mockito,Java,Android,Unit Testing,Kotlin,Mockito,您好,我正在网络模块中为我的存储库和数据层编写单元测试,但在为我的数据源层编写单元测试时,我从Mockito得到了错误 SaltDataSource类: class SaltDataSource : BaseDataSource() { /** * This method will get salt from server */ suspend fun getSalt(saltRequest: SaltRequest) = getResult { TMSService.instanc

您好,我正在网络模块中为我的存储库和数据层编写单元测试,但在为我的数据源层编写单元测试时,我从Mockito得到了错误

SaltDataSource类:

class SaltDataSource : BaseDataSource() {
/**
 * This method will get salt from server
 */
suspend fun getSalt(saltRequest: SaltRequest) =
    getResult { TMSService.instance.getSaltAsync(SALT_URL, saltRequest) }
}
TMS服务改造接口:

interface TMSService {

@POST
suspend fun postHeartBeatAsync(
    @Url url: String, @Header("Authorization") authToken: String,
    @Body
    heartBeatList: PostHeartBeat
):
        Response<HeartBeatResponse>

@POST
suspend fun getSaltAsync(@Url url: String, @Body saltRequest: SaltRequest):
        Response<SaltResponse>

companion object {
    //creating singleton object of TMSService
    val instance: TMSService by lazy {
        ApiClient.retrofitInstance.create(TMSService::class.java)
    }
}

}
我在尝试使用Mockito验证呼叫时遇到此问题:

Wanted but not invoked:
tmsService.getSaltAsync("url", saltRequest);
我已经检查了http日志,并得到了响应,即调用了此方法

Wanted but not invoked:
tmsService.getSaltAsync("url", saltRequest);