0
假设我有一个抽象类,它的子类扩展了,我想模拟一个在超类的受保护数据类型中使用的类。问题是需要模拟的类是默认数据类型,所以它不能在包外部访问。让我举个例子说明我的观点。谢谢你的帮助。抽象类的默认类型变量
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进行测试时,我无法为超类的Protected变量创建模拟。
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();
}
}