次の Java クラスがあります。
public class A
{
@Autowired
private B b;
public int aFn()
{
int something = b.bFn();
}
}
public class B
{
@Autowired
private C c;
public int bFn()
{
int something = c.cFn();
}
}
public class C
{
public int cFn()
{
return 231;
}
}
そして、Mockito を使用して上記のコードをテストする次のテスト:
public class test
{
@Autowired
private A a;
private C c;
@Test
public void testA()
{
c = mock(C.class);
when(c.cFn(),anyInt()).thenReturn(something);
assertEquals(0, a.aFn());
}
}
testA をデバッグすると、モックされたものではなく、実際の c.Cfn() が実行されることがわかりました。ここで私が間違っていることはありますか? 助けてください!