クラス A の継承されたゲッターが MyObject の Mock を返すようにします。A で getMyObject() メソッドを直接スタブせずに (つまり、MockBase クラスを使用して) どうすればそれを行うことができますか?
public class Base {
@Autowired
private MyObject obj;
public MyObject getMyObject(){
return obj;
}
}
public class A extends Base {
@Autowired
private SomeObject xyz;
public void myMethod(){
MyObject obj = getMyObject();
//do something here
}
}
public void MockBase {
@Mock
protected MyObject obj;
public MyObject getMyObject(){
return obj;
}
}
public class ATest extends MockBase {
@InjectMocks
private A a;
@Mock
private SomeObject xyz;
@BeforeMethod
public void setUp(){
MockitoAnnotations.initMocks(this);
}
public void MyMethod_SomeCondition_ExpectedResult{
a.myMethod();
}
}