Reputation: 431
I have problem with JUnit testing one method. I use EasyMock.createMock to mock someDao.
I still get easymock unexpected method call expected 1 actual 0 someDato.findByCriteria(criteria, -1, -1)
That's how code looks like (it's only draft).
I suspect that problem is in criteria
object.
The error points line return someDato.findByCriteria(criteria, -1, -1);
@Test
public void findDataSericeTest(){
DetachedCriteria criteria = DetachedCriteria.forClass(SomeClass.class);
criteria.add(Restictions.eq("sth1",string1));
criteria.add(Restictions.eq("sth2",string2));
expect(someDato.findByCriteria(criteria, -1, -1)).andReturn(SomeClass);
replay(someDao);
serviceTested.findDataService("string1","string2");
EasyMock.verify(someDao);
}
public SomeClass findDataService(String string1, String string2){
DetachedCriteria criteria = DetachedCriteria.forClass(SomeClass.class);
criteria.add(Restictions.eq("sth1",string1));
criteria.add(Restictions.eq("sth2",string2));
return someDato.findByCriteria(criteria, -1, -1);
}
Any ideas?
Upvotes: 3
Views: 7711
Reputation: 32949
I bet DetachedCriteria
does not implement / override equals
and hashcode
. The verification will use the equals
method of the expected argument to see if it matches the actual argument passed.
Upvotes: 2