单元测试:
我有以下课程
public class BImpl extends AImpl
{
public BImpl(final C c)
{
super(c);
}
public String getInfo()
{
final String info = getInformation();
// Do all my logic here
return info;
}
}
public abstract class AImpl
{
public String getInformation()
{
// some logic...returns String.
}
}
我正在尝试使用 Mockito 或 JMock 可用的任何模拟方法对方法 getInfo() 进行单元测试。
例如,在使用 Mockito 时,我正在使用这种方式:
final AImpl aImpl = mock(AImpl.class);
when(aImpl.getInformation()).thenReturn("ABC");
现在,由于我必须创建 BImpl 的实例,我可以创建的唯一方法是使用可用的构造函数。
final BImpl bImpl = new BImpl (C);
bImpl.getInfo();
当它调用 getInfo() 方法并尝试调用 getInformation() 时,它不是调用模拟对象,而是调用实际对象。
测试这种方法的好方法是什么。有没有其他方法可以创建 BImpl 的实例而无需通过我上面给出的构造函数?
谢谢!!