我正在测试一个扩展抽象类的类。具体类成员被注入,当来自具体类mockito的方法调用时,返回null,即使我在测试中已经定义了它。
抽象类
public abstract class A {
@Inject
ObjA objA;
public String methodA() {
return objA.x()
}
// unimplemented methods
}
b类
public class B extends A {
@Inject
ObjB objB;
public String methodB() {
String x = methodA()
return x;
}
}
测试类
@RunWith(MockitoJUnitRunner.class)
public class BTest{
@Mock
ObjA objA
@Mock
ObjB objB
@InjectMock
B b;
@Before
public void init() {
Mockito.when(objA.x()).thenReturn("Hi");
}
@Test
public testBMethod() {
String x = b.methodB();
assertEquals(x,"Hi") // X is null even when, when then is defined for mocked object
}
}
有人能告诉我为什么那时候不行吗?
暂无答案!
目前还没有任何答案,快来回答吧!