EasyMock

JavaPhil

Mitglied
Hallo,

ich versuche gerade einen Test mit EasyMock umzusetzen. Das generelle vorgehen ist mir anhand der Tutorials klar nur einen Punkt versteh ich nicht ganz. In allen Tutorials welche ich gelesen habe sind anscheinend die Objekte welche als Aufruf an den Mock gesendet werden bereits in der Aufzeichnungsphase bekannt..

zb hier: Unit testing with JUnit and EasyMock*-*Michael Minella

Java:
String userName = "testUserName";
String password = "testPassword";
String passwordHash = 
               "�Ӷ&I7���Ni=.";
expect(mockDao.loadByUsernameAndPassword(eq(userName), eq(passwordHash)))
               .andReturn(results);
replay(mockDao);
assertTrue(service.login(userName, password));

Wie kann ich easymock nutzen wenn ich die konkreten objekte für den Aufruf innerhalb der Testmehtode nicht habe?

Also:
Java:
antwort = kannIchBauen;
expect(mockDao.machWas(???Hier weis ich nur das interface hab aber die instanz nicht???))
               .andReturn(antwort);
 
Zuletzt bearbeitet von einem Moderator:

JavaPhil

Mitglied
Soo habs selber hinbekommen

Java:
EasyMock.expect(mock.methode((NeKlasseCast)EasyMock.anyObject())).andReturn(mockReturn);

mit dem anyObject gehts...
 

fastjack

Top Contributor
Das mußt Du dann aber, wenn die Methode mehrere Parameter hat, mit jedem Parameter (auch primitive), sonst bekommst Du wieder eine MatchingException.
 

mvitz

Top Contributor
Wobei
Java:
EasyMock.expect(mock.methode(EasyMock.<NeKlasseCast>anyObject())).andReturn(mockReturn)
vermutlich die "sauberere" Alternative ist.
 

Ähnliche Java Themen

Neue Themen


Oben