鉴于以下使用 Mockito 模拟 Scala 类的代码,我收到错误并且无法编译:

import org.mockito.Mockito._

class Testeable {
  def fun1 = 1
  def fun2 = 2
}

object test {

  def getMock = {
      val testMock = mock[Testeable]  // <-- this line throws the error
      when(testMock.fun1).thenReturn(3)
      testMock
  }

}

错误是:



我只是 mock 了一个类(class),有什么歧义?

最佳答案

你不能像这样直接使用 mockito(你可以使用它,但不能让它看起来这么漂亮)。看看 scala test library
解决当前问题的最简单方法就是将 MockitoSugar 混合到您的测试类中,而不是导入 Mockito._ ,然后 mock[Foo] 就会按照您的预期工作。
库提供了许多其他东西来在 scala 中编写惯用的测试代码,因此您应该阅读我链接到的那个站点上的一些文档和示例。

关于scala - Mockito:对重载定义的模糊引用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41337468/

10-15 22:34