2016-04-10 7 views
6

Ich habe gerade begonnen, scalatest für Java-Code zu verwenden, und dass wir easymock verwenden, um Mocks zu erstellen.Irgendein Argument in der Funktion in easymock erwartet scalatest

Ich habe eine Situation, in der ich so etwas tun möchte.

expecting{ 
     objA.function(x$1, x$2).andReturn(objectB) 
     } 

Für den Platzhalter x $ 1, x $ 2 ich die Funktion übergeben ähnlich wie so etwas wie anyObject() in Java anrufen möchten.

Bitte vorschlagen, etwas, das den Platzhalter ersetzen könnte.

+0

ich mit der gleichen bin zu kämpfen. Versucht 'val l = mock [Liste [String]]; erwartet {l.map (isA (classOf [String => Int])) .undReturn (List (1,2,3))} ... ', aber es schlägt fehl mit _" 2 Matcher erwartet, 1 aufgezeichnet. Diese Ausnahme tritt normalerweise auf, wenn Matcher mit Rohwerten gemischt werden, wenn eine Methode aufgezeichnet wird. " –

Antwort

0

Mit Methoden, die auf Mockito (nicht sicher, ob Sie es verwenden):

z.B.

def any[T : ClassTag]: T = org.mockito.Matchers.any(implicitly[ClassTag[T]].runtimeClass).asInstanceOf[T] 

und Sie können es verwenden, als

val a = mock[Foo] 
doReturn(fooResult).when(a).fooMethod(any[FooInput]) 
+1

Die Frage bezieht sich auf EasyMock, nicht auf Mockito. –