假设我有一个类:
public class Boy
{
@Inject
@Named("birthDay")
BirthDay bday;
}
我想模拟它,但问题是生日类本身使用我想模拟和控制的依赖关系,我不能同时使用@InjectMocks和@Mock在同一个类上,你如何去实现相同的?
为什么需要在模拟中注入一些东西?您需要两个测试类来测试Boy
和BirthDay
类。
这里你应该测试Boy
类的逻辑
public class BoyTest{
@Mock
private BirthDay brithday;
@InjectMock
private Boy boy;
}
BirthDay
的逻辑应该有它自己的Test类。
public class BirthDayTest {
@Mock
private Dependency dependency ;
@InjectMock
private BirthDay brithday;
}
因此,您应该假设您的模拟返回一些您需要的数据。并检查您的测试单元是否按预期的方式使用给定的数据。