Не могу смоделировать длинный ответ заглушки - PullRequest
0 голосов
/ 05 мая 2019

Android Studio 3.3.Модификация 2. Я хочу, чтобы после нажатия кнопки startButton имитировалась длительная реакция (5 секунд).Вот мой тест эспрессо:

import okhttp3.mockwebserver.MockResponse
import okhttp3.mockwebserver.MockWebServer
import org.junit.After
import org.junit.Before
import java.util.concurrent.TimeUnit
@RunWith(AndroidJUnit4::class)
class AddTraderActivityTest {

@get:Rule
    var addTraderIntentTestRule: IntentsTestRule<AddTraderActivity> = IntentsTestRule(AddTraderActivity::class.java)

    @Before
    fun setup() {
        mockServer = MockWebServer()
        mockServer.start(8081)
    }

    @After
    @Throws
    fun tearDown() {
        mockServer.shutdown()
    }

  @Test
    fun buttonStart_click_delayResponse() {
        // stub response
        mockServer.enqueue(MockResponse()
                .setResponseCode(200)
                .setBodyDelay(5, TimeUnit.SECONDS))
        onView(withId(R.id.baseTextInputEditText))
                .perform(typeText(BASE_TEST))
        onView(withId(R.id.quoteTextInputEditText))
                .perform(typeText(QUOTE_TEST))
        onView(withId(R.id.startButton))
                .perform(click())        
    }
}

Как вы можете видеть, я использую setBodyDelay для имитации длинного ответа.Но когда я запускаю тест buttonStart_click_delayResponse, mockwebserver немедленно возвращает ответ на заглушку. не нужно ждать 5 секунд перед ответом на заглушку возврата.

здесь log:

05-05 14:54:59.263 D/OkHttp  (14337): --> GET http://127.0.0.1:8081/trader/create?base=Base%20test&quote=Quote%20test&sender=myproject.android.debug_0.0.8&key=541405052019 http/1.1
05-05 14:54:59.279 I/MockWebServer(14337): MockWebServer[8081] received request: GET /trader/create?base=Base%20test&quote=Quote%20test&sender=myproject.android.debug_0.0.8&key=541405052019 HTTP/1.1 and responded: HTTP/1.1 200 OK
05-05 14:54:59.281 D/OkHttp  (14337): <-- 200 OK http://127.0.0.1:8081/trader/create?base=Base%20test&quote=Quote%20test&sender=myproject.android.debug_0.0.8&key=541405052019 (17ms, 0-byte body)
...