我试图创建一些集成测试,我想要删除注入RabbitTemplate的构造函数。这样做的最佳方式是什么?下面是当前应用程序服务构造函数的示例,并且进一步使用amqp变量来创建消息。我想使用RabbitTemplate的不同存根来创建消息场景。
private AccountRepository accountRepository;
private UserRepository userRepository;
private RabbitTemplate amqp;
@Autowired
public IdentityApplicationServiceImpl(UserRepository userRepository, AccountRepository accountRepository,
RabbitTemplate aRabbitTemplate) {
this.userRepository = userRepository;
this.accountRepository = accountRepository;
this.amqp = aRabbitTemplate;
}
因此,对于userRepository,accountRepository和aRabbitTemplate,我想根据场景使用特定的存根。如果RabbitTemplate可以被删除,任何提示都会很棒。
答案 0 :(得分:2)
是的,它可以被删除。
只需使用界面RabbitOperations
或AmqpTemplate
。
一个好的方法是模拟它并存根你打算使用的方法。