Java 在EasyMock中需要其他参数
有没有一种简单的方法可以用EasyMock做这样的事情Java 在EasyMock中需要其他参数,java,unit-testing,easymock,Java,Unit Testing,Easymock,有没有一种简单的方法可以用EasyMock做这样的事情 Object a, b, c; expect(a.getB("string1")).andReturn(a).anyTimes(); expect(a.getB("string2")).andReturn(b).anyTimes(); expect(a.getB(<ANYTHING_ELSE>)).andReturn(c).anyTimes(); 对象a、b、c; expect(a.getB(“string1”)).andRe
Object a, b, c;
expect(a.getB("string1")).andReturn(a).anyTimes();
expect(a.getB("string2")).andReturn(b).anyTimes();
expect(a.getB(<ANYTHING_ELSE>)).andReturn(c).anyTimes();
对象a、b、c;
expect(a.getB(“string1”)).andReturn(a.anytime();
expect(a.getB(“string2”)).andReturn(b.anytime();
expect(a.getB()).andReturn(c.anytime();
或者我应该实现自己的IArgumentMatcher
实现吗 您可以使用expect
的方法:
expect(a.getB((String)anyObject())).andAnswer(new IAnswer<MyClass>() {
public MyClass answer() {
String in = (String) getCurrentArguments()[0];
switch(in) {
case: "string1":
return a;
case: "string2":
return b;
default:
return c;
}
}
});
expect(a.getB((String)anyObject()).andAnswer(new IAnswer()){
公共MyClass答案(){
字符串in=(字符串)getCurrentArguments()[0];
开关(输入){
案例:“string1”:
返回a;
案例:“string2”:
返回b;
违约:
返回c;
}
}
});
注意:打开String
需要Java7