我正在尝试使用 Ninja Framework ( https://www.ninjaframework.org/documentation/testing_your_application/advanced.html ) 运行集成测试。该服务有一个 apiClient 实例,它使用改造与 3rd 方 API 交互。
class Service
@Inject
constructor(
private val apiClient: ApiClient
)
我想模拟 apiClient.call 的响应。我尝试设置使用 Mock 注释的 apiClent 或使用 Service(apiClient) 初始化服务,但它与实际 API 交互并返回超时响应。
@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()
}
}