Ninja Framework ( https://www.ninjaframework.org/documentation/testing_your_application/advanced.html )との統合テストを実行しようとしています。このサービスには、レトロフィットを使用してサードパーティ API と対話する apiClient インスタンスがあります。
class Service
@Inject
constructor(
private val apiClient: ApiClient
)
apiClient.call のレスポンスをモックしたい。Mock で注釈を付けた apiClent を設定するか、Service(apiClient) でサービスを初期化しようとしましたが、実際の API と対話し、Timeout 応答を返します。
@RunWith(NinjaRunner::class)
class IntegrationTest {
var apiClient: ApiClient = mock()
@Inject
var service: Service= mock()
@Test
fun `test something`() {
whenever(apiClient.call()).thenReturn(
RestResponse(status = RestResponse.Status.SUCCESS, message = "success")
)
val result = service.update()
}
}