adaniluk
adaniluk

Reputation: 431

JUnit EasyMock unexpected method call expected 1 actual 0

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

Answers (1)

John B
John B

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

Related Questions