我有以下情况:
public class MyObject {
ObjectA a;
public void method(){
a.getObjectB.getSomething();
}
现在在我的JUnit测试中我嘲笑(使用mockito)并注入ObjectA,我的问题是即使在我尝试通过反射注入ObjectB之后,getObjectB也保持为null。我有什么想法可以解决这个问题吗?
单元测试如下:
@Mock ObjectA a
@Mock ObjectB b
MyObject c
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
c = new MyObject();
MyObject.setObjectA(a);
ReflectionTestUtils.setField(c, "b", b);
when(stepExecution.getObjectB().getSomething()).thenReturn("Stuff);
}
@Test
public void testSomething()
{
c.myMethod()
}
答案 0 :(得分:0)
模拟对象ObjectA& ObjectB并根据您的需要设定他们的期望。
when(a.getObjectB()).thenReturn(b);
when(b.getSomething()).thenReturn("Stuff");