假设我有一个由其子类扩展的抽象类,我想模拟一个用于超类中受保护数据类型的类。问题是需要模拟的类是默认数据类型,因此无法在包外访问。让我举一个例子来说明我的观点。谢谢你的帮助。
class protectedVariableClass{
public SomeObject someObject1;
public SomeObject someObject2;
}
public abstract class superClass {
protected protectedVariableClass protectedVariableClass;
..................
.................
}
public class subClass extends superClass {
protected boolean someMethod() {
protectedVariableClass.someObject1.printValue;
}
}
现在,当我尝试使用 Jmockit 对其进行测试时,我无法为超类的受保护变量创建模拟。
public class SubClassTest{
@Mocked
private protectedVariableClass mockedObject; // Cannot access the class with default data type outside package.
@Test
public void testClass {
subClass s1 = new subClass();
s1.someMethod();
}
}