如何使用@InjectMocks来模拟另一个类的依赖



假设我有一个类:

   public class Boy
          {
                 @Inject 
                 @Named("birthDay")
                 BirthDay bday;
          }

我想模拟它,但问题是生日类本身使用我想模拟和控制的依赖关系,我不能同时使用@InjectMocks和@Mock在同一个类上,你如何去实现相同的?

为什么需要在模拟中注入一些东西?您需要两个测试类来测试BoyBirthDay类。

这里你应该测试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;
}

因此,您应该假设您的模拟返回一些您需要的数据。并检查您的测试单元是否按预期的方式使用给定的数据。

相关内容

  • 没有找到相关文章

最新更新