12

因此,在我正在测试的服务中,我有一个依赖服务,它正在获取一个对象并对其进行一些扩充。我想模拟依赖服务正在做的部分,并使模拟返回它收到的内容。问题是我无权访问它。

我试过这样的事情:

  val captureMyObject = slot<MyObject>()
  every { serviceX.doSomething(capture(captureMyObject)) } 
  returns captureMyObject.captured

但它失败了:kotlin.UninitializedPropertyAccessException: lateinit property captured has not been initialized

4

1 回答 1

23

在 oleksiyp 评论之后,我重新阅读了文档。正确的做法是:

val captureMyObject = slot<MyObject>()
every { serviceX.doSomething(capture(captureMyObject)) } answers {captureMyObject.captured}
于 2019-05-12T17:55:09.350 回答