Я выполняю инструментированный тест, в котором во время выполнения назначен доступный порт.
Это 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-адрес не изменяется для каждого теста.
Любая помощь приветствуется.