Collection<T_SI_IDABAREME> tSiIdabaremes;
DAO_F_IDA_DESC mockDaoFIdaDesc
prepareExpects(){
expect(mockDaoTSiIdabareme.findByDate(isA(Date.class)))
.andReturn(searchByParameter(tSiIdabaremes, date));
}
是否可以使用将传递给 andReturn 中的 findByDate 的日期?
PS:这是一个服务测试类,我正在以绕过数据库的方式进行它。
最佳答案
每当你使用这样的expect方法时
Easymock.expect(someMethod(Date.Class)).andReturn(something);
每当 Date 类的 ANY 对象作为参数传递时,您将指示编译器模拟对该方法的所有调用,并且您将无法在返回表达式中使用该对象。
另一方面,如果你有这样的事情,
Easymock.expect(someMethod(someSpecificDateObject)).andReturn(someSpecificDateObject);
当 Date 类的特定对象作为参数传递时(在本例中为 someSpecificDateObject
),您指示编译器仅模拟此方法调用,您将能够返回时使用此参数,因为您知道仅当传递此对象时该方法才会被模拟。
如果第二个选项对您有利,您可以使用第二个选项,但使用第一个选项您所要求的内容是不可能的。
希望这有帮助!
祝你好运!
关于java - 在andReturn中使用expect的方法参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28860449/