我遇到了一个无法模拟/存根方法的场景。
Class A{
B b = new B();
method aa(){
... call to method bb in class B
}
}
Class B{
method bb(){
......
}
}
我想为 B 类模拟方法 bb。由于 A 类的方法 aa 没有传递 b 的构造函数,所以我不确定如何模拟它的行为。
我试着嘲笑B
A a = new A();
B b_mock = Mockito.mock(B.class);
when(b_mock.bb).thenReturn(..something);
a.aa();
但是当测试方法aa时,它仍然进入方法bb,这是有道理的,因为A和b_mock之间没有关系。我不确定如何在 A 和 B 之间建立连接。
我尝试了@InjectMock,它也不起作用,我试图避免使用powerMock。我不确定这是否可以实现。
提前致谢!