鉴于以下使用 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/