public abstract class A{
public int methodInA(String a){
return 0;
}
}
public class B extends A{
String a = "ANYTHING";
public void main(){
int b = super.methodInA(a);
}
}
这段代码只是一个例子。我正在尝试测试B
,并希望使用来自methodINA
的参数来模拟方法B
。我可以用EasyMock做到这一点,如果是这样的话?
答案 0 :(得分:-1)
这不是嘲笑的方法,你应该嘲笑方法main
,但这会使测试变得毫无意义,因为你不会只测试EasyMock的实际代码。
当您想要控制被测试对象使用的对象的行为时,会使用EasyMock(以及一般的模拟)。
在您的情况下,您唯一的选择是在测试中继承B,例如:
@Test
public void testSomething()
{
final int expected = 5;
B b = new B()
{
public int methodInA(String a)
{
return expected;
}
};
b.main();
//Add assertions here.
}