java.io.IOException:http://localhost:33339/ 上的流意外结束

问题描述

我正在使用改造和 okhttp3.mockwebserver.MockWebServer 进行 Android 测试。 我在运行测试时收到此错误

摇篮:

 androidTestImplementation "com.squareup.okhttp3:mockwebserver:3.14.9"
def retrofit_version = "2.9.0"
    implementation "com.squareup.retrofit2:converter-gson:$retrofit_version"
    implementation "com.squareup.retrofit2:retrofit:$retrofit_version"
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'

Android 测试类有:

mockServer = MockWebServer()
mockServer.start()

//In some other class
Retrofit.Builder()
            .baseUrl(mockServer.url("/").toString())
            .addConverterFactory(GsonConverterFactory.create(GsonBuilder().create()))
            .build()


mockServer.enqueue(
        MockResponse()
            .setResponseCode(200)
            .setBody(getJson(fileName)))

我不知道缺少什么尝试添加标题但仍然出现相同的错误。 请帮忙。

解决方法

更正了在显示进度条和错误消失之前调用模拟api的顺序。