我正在寻找一种解决方案,可以在对主bean注入Mocks时注入的某些bean上使用自动装配注释。 我有这样的A类,我想在Test类中使用Autowired D而不是模拟D。我正在使用Spring Boot版本2.0。如果有人知道任何解决方案,请告诉我。
@Repository
Class A{
B b;
C c;
D d;
@Autowired
public A(B b, C c, D d)
{
this.a =a;
this.b = b;
this.c = c;
}
}
我正在尝试使用Mockito以及一些依赖项的Autowired注释来实现这一点。我不想模拟D。这种方法行不通,我想知道我可以做些什么来使它起作用。如果有人将Mockito与Autowired注释一起使用。
@RunWith(SpringJUnit4ClassRunner.class)
Class ATest{
@Autowired
@InjectMocks
A a;
@Mock
B b;
@Mock
C c;
@Autowired
D d;
}
答案 0 :(得分:0)
由于您尝试编写单元测试,因此可以使用Mockito来运行已在使用的单元测试。
@RunWith(MockitoJUnitRunner.class)
Class ATest{
@InjectMocks
A a = new A();
@Mock
B b;
@Mock
C c;
@Mock
D d;
}
答案 1 :(得分:0)
我已经解决了我的问题,如果我在测试类中对类型D的对象使用@Spy注释而不是@Mock,它将调用实际的而不是Mock。