MockWebServer - не менять номер порта для каждого запроса - PullRequest
0 голосов
/ 27 февраля 2020

Я выполняю инструментированный тест, в котором во время выполнения назначен доступный порт.

Это 1-й мой тест

@Test
fun checkCorrectResponse() {
    val resources = ApplicationProvider.getApplicationContext<TestApplication>().resources
    val sampleResponse =
        resources.openRawResource(R.raw.sample_response).bufferedReader().use { it.readText() }

    val mockWebServer = MockWebServer()
    mockWebServer.start()

    val mockURL = mockWebServer.url("/").toString()

    loadKoinModules(module(override = true) {
        single { NetworkBuilder.provideRetrofit(get(), mockURL) }
    })

    mockWebServer.enqueue(MockResponse().setBody(sampleResponse))

    activity.launchActivity(null)
    onView(withId(R.id.repoRecyclerView))
        .check(matches(isDisplayed()))

    onView(withId(R.id.repositoryProgress)).check(matches(not(isDisplayed())))
    onView(withId(R.id.errorLayout)).check(matches(not(isDisplayed())))

    mockWebServer.shutdown()
}

Это мой 2-й тест, точно делает то же самое, что и выше

@Test
fun checkCorrectResponseDummy() {
    val resources = ApplicationProvider.getApplicationContext<TestApplication>().resources
    val sampleResponse =
        resources.openRawResource(R.raw.sample_response).bufferedReader().use { it.readText() }

    val mockWebServer = MockWebServer()
    mockWebServer.start()

    val mockURL = mockWebServer.url("/").toString()

    loadKoinModules(module(override = true) {
        single { NetworkBuilder.provideRetrofit(get(), mockURL) }
    })

    mockWebServer.enqueue(MockResponse().setBody(sampleResponse))

    activity.launchActivity(null)
    onView(withId(R.id.repoRecyclerView))
        .check(matches(isDisplayed()))

    onView(withId(R.id.repositoryProgress)).check(matches(not(isDisplayed())))
    onView(withId(R.id.errorLayout)).check(matches(not(isDisplayed())))

    mockWebServer.shutdown()
}

URL от 1-го - <- 200 OK <a href="http://localhost:50155/repositories" rel="nofollow noreferrer">http://localhost: 50155 / хранилища

URL от 2-го - < - HTTP FAILED: java. net .ConnectException: не удалось подключиться к localhost / 127.0.0.1: 50155

Почему мой URL-адрес не изменяется для каждого теста.

Любая помощь приветствуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...