我正在使用 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)。你能建议如何解决这个问题吗?