3

1 つのメソッドをテストする JUnit に問題があります。EasyMock.createMock を使用して someDao をモックします。私はまだeasymock unexpected method call expected 1 actual 0 someDato.findByCriteria(criteria, -1, -1) コードがどのように見えるかを理解しています(これは単なるドラフトです)。問題はcriteriaオブジェクトにあると思います。エラーポイントライン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);
}

何か案は?

4

1 に答える 1

2

私は実装/オーバーライドしDetachedCriteriaないに違いない. 検証では、予想される引数のメソッドを使用して、渡された実際の引数と一致するかどうかを確認します。equalshashcodeequals

于 2013-05-28T16:53:37.647 に答える