テストには Mockito フレームワークを使用しています。今、私は次の問題を抱えています。
これは私がテストしたいクラスです。
@Service
public class Parent{
@Autowired
private Child child;
public void setChildDetails(ChildDetails childDetails){
childDetails.validate();
....
int age = childDetails.getAge();
}
}
これは私のテストです。
public class ParentTest {
@InjectMocks
private Parent parent;
@Mock
private Child child;
@Before
public void setup() {
initMocks(this);
}
@Test
public testParentMethod(){
.....
}
@Test
public testChildDetailsMethod(){
ChildDetails childDetails = new ChildDetails();
childDetails.setAge(20);
parent.setChildDetails(childDetails);
}
}
Mock for Child プロパティがその役割を果たします。問題は、childDetails.validate() (このメソッドのみ) をモックし、他のメソッドをそのままにしておきたいことです (getAge() は 20 を返す必要があります)。この問題を解決する方法を提案できますか?