У меня есть класс интеграционного теста с аннотацией @SpyBean над одной зависимостью и тестирующим количеством вызовов с использованием verify, однако @SpyBean добавляет другого потребителя очереди и метод verify, отвечая, что с mock не было взаимодействий.
Я уже пробовал некоторые варианты Mocks, Spies, MockBeans.Когда я @Spy проблемный бин, у меня есть один потребитель, но нет взаимодействия с макетом.@SpyBean создает другого потребителя очереди, но в одной среде тесты проходят (у меня нет прав ни одного вызова, поэтому, вероятно, очередь используется фиктивным), а в другой среде очередь используется реальным (?) Классом, поэтому метод не вызывается.В обеих ситуациях я вижу, что проблемный метод вызывается выводом журнала внутри метода слушателя.У меня нет идей, как ее решить ...
@Service
public class MyDependency {
@RabbitListener(queues = "someQueue")
public void handleError(Message<?> message) {
log.info(">>>>>> I'M HERE <<<<<<<<");
handleFail(message);
}
}
В тестовом классе у меня есть
public class IntegrationTest {
@SpyBean
MyDependency myDependency;
@Test
void shouldPass() {
//some code...
verify(myDependency, times(2)).handleError(any());
}
}
Ожидаемый результат: у меня есть два вызова метода handleError и нетсозданы дополнительные потребители Фактический: создан дополнительный потребитель для очереди (получено два) и нет итераций с mock, метод не вызывается (mockio говорит, что), но я вижу «>>> Я здесь <<<» в журналах</p>