我正在使用工具测试来运行一些集成测试。我有一个定义一些API调用的接口:
Service.kt
interface Service {
@Post("user/login")
fun login(@Body body: LoginBody): LiveData<ApiResponseWrapper<CsrfRemote>>
...
}
我正在尝试在使用以下调用的存储库上运行测试:
AuthRepository.kt
@Singleton
class AuthRepository @Inject constructor(
val service: Service,
val sessionData: SharedPrefs? = null
) {
fun login(username: String, password: String): LiveData<LoginResponse> {
val loginBody = LoginBody(username, password)
return Service.login(loginBody).map {
// parses the response and returns
}
}
}
当我需要传递接口Service时,如何在工具测试中实例化AuthRepository实例以进行登录调用?具体来说,我需要在构造AuthRepository时可以传递的Service
变量,但是我无法弄清楚如何“将Service作为变量传递”?