问题描述
我使用enque()添加了一个请求,但是使用调试器,您可以看到,当您在其中调用takeRequest时,requestQueue = 0,这意味着没有任何请求,之后takeRequest()无限期地等待请求。可能是什么问题?
class ExampleUnitTest {
private lateinit var mockWebServer: MockWebServer
@Before
fun setup() {
mockWebServer = MockWebServer()
mockWebServer.start()
mockWebServer.url("/")
}
@After
fun teardown() {
mockWebServer.shutdown()
}
@Test
fun `test`(){
val response = MockResponse()
.setResponseCode(HttpURLConnection.HTTP_OK)
.setBody("response body")
mockWebServer.enqueue(response)
var recordedRequest = mockWebServer.takeRequest()
...
}
}
解决方法
没有请求,因为您从未请求过任何请求。您实际上需要调用一些代码来触发由mockWebServer.url("/")
返回的基本URL的请求。