den folgenden Code gegeben, der eine Scala-Klasse mit Mockito spottet, bekomme ich einen Fehler und kompilieren kann nicht:Mockito: mehrdeutiger Verweis auf überladene Definition
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
}
}
Fehler sind:
ambiguous reference to overloaded definition, both method mock in object Mockito of type (x$1: Class[common.Testeable], x$2: org.mockito.MockSettings)common.Testeable and method mock in object Mockito of type (x$1: Class[common.Testeable], x$2: org.mockito.stubbing.Answer[_])common.Testeable match expected type ?
ich nur verspottet eine Klasse, was ist mehrdeutig?
'Mock (Klasse von [Testable])'? Es erwartet eine 'java.lang.Class', und' classOf'-Methode liefert es, genau wie in Java könnte man 'Testable.class' machen. –
Korrektur, Klasse 'Any' hat eine 'getClass'-Methode, für nicht-generische Klassen wie' Int', 'String' usw. können Sie' getClass' verwenden und für generische wie 'List [T]' verwenden Sie 'classOf [List [_]] 'aus' Predef' ... –
danke, es funktionierte mit 'mock (classOf [Testable])' – ps0604