调用这些函数时,我想返回200:
`when`(httpResponse.statusLine.statusCode).thenReturn(200)
httpResponse是由
创建的模拟val httpResponse = mock(HttpResponse::class.java, RETURNS_DEEP_STUBS)
我的问题是,当我使用httpResponse
时RETURNS_DEEP_STUBS
为空。我猜这是因为HttpResponse是一个interface(?)。
如果我跳过RETURNS_DEEP_STUBS
,我将在第一个statusLine
之后无法调用任何函数
可以模拟这样的接口吗?如果可以,怎么办?
答案 0 :(得分:1)
只需创建另一个模拟:
val httpResponseStub = mock(HttpResponse::class.java);
val statusLineStub= mock(StatusLine::class.java);
when(statusLineStub.statusCode).thenReturn(200);
when(httpResponseStub.statusLine).thenReturn(statusLineStub);
逐步。