如何使用@InjectMocks获取另一个类的依赖?

时间:2016-10-06 05:45:43

标签: java spring dependency-injection mockito spring-test

说我有课:

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

我想嘲笑它,但问题是BirthDay类本身使用了我想要模拟和控制的依赖项,我不能在同一个类上同时使用@InjectMocks和@Mock,你怎么去实现同样的目标?

1 个答案:

答案 0 :(得分:2)

为什么你需要在模拟中注入一些东西? 您需要有两个测试类来测试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;
}

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

相关问题