public class A{
protected Integer methodA(String a){
//some code is included;
return new Integer(1);
}
}
public class B extends B{
String b = "AnyThing";
methodA(b);
//there are also other methods that will be tested
}
以下是部分测试代码
B classUnderTest = createMockBuild(B.class).addMockedMethod(B.class.getDeclaredMethod(methodA(), String.class)).createMock;
expect(classUnderTest.methodA(anyObject(String.class))).andReturn(new Integer(1));
第二段代码的第二行甚至无法通过编译。哪里错了?
答案 0 :(得分:0)
简,关于你的主要问题,行
expect(classUnderTest.methodA(anyObject(String.class))).andReturn(new Integer(1));
如果@Test
类与您正在测试的主题位于同一package
,则将成功编译 - 在这种情况下,类A
和B
(如果{{1} }})。受保护的实例方法仅对同一包中的类可见。