如何注入同一接口的多个模拟
2022-09-01 12:55:18
我希望测试的Java类(称为)有这个:ServiceCaller
@Autowired @Qualifier(value="serviceA")
SomeService serviceA;
@Autowired @Qualifier(value="serviceB")
SomeService serviceB;
(有一种方法可以检查条件并调用A或B)。doWork()
如何将每个服务的模拟注入到相应的变量中?
我的朱尼特有这个:
@InjectMocks ServiceCaller classUnderTest = new ServiceCaller();
@Mock SomeService mockServiceA;
@Mock SomeService mockServiceB;
然而,当我运行测试以检查在正确条件下调用的服务A / B时,我得到空指针,因为模拟尚未注入。
显然,这是因为对同一接口的多个依赖关系()。有没有办法在声明模拟服务时指定限定符?或者我需要为依赖关系设置器并设置老式的方式?SomeService