Ожидается, что приведенный ниже тест возвратит HttpException, но вместо этого он возвращает RuntimeException.
@Test
fun `Server down returns 500 error`() {
mockWebServer.enqueue(MockResponse().setResponseCode(500))
val exception: Exception =
assertThrows(
HttpException::class.java
) {
githubApi
.getRepoList("test")
.blockingFirst()
}
assertEquals(exception, HttpException::class)
}
Журнал для неудачного теста:
INFO: MockWebServer [54339] получил запрос: GET / users / test / repos HTTP / 1.1 и ответили: HTTP / 1.1 500 Ошибка сервера Feb 07, 2020 9:20:11 PM okhttp3.mockwebserver.MockWebServer acceptConnections ИНФОРМАЦИЯ: MockWebServer [54339] завершил прием соединений: сокет закрыт, фев 07, 2020 9 : 20: 23 PM okhttp3.mockwebserver.MockWebServer $ serveConnection $$ inlined $ execute $ 1 runOnce ИНФОРМАЦИЯ: Сбой соединения MockWebServer [54339] из /127.0.0.1: java. net .SocketException: сокет закрыт
org.opentest4j.AssertionFailedError: Создан непредвиденный тип исключения ==> ожидается: com.jakewharton.retrofit2.adapter.rxjava2.HttpException, но было: java .lang.RuntimeException