Тест Spring JMS junit не может найти получателя с аннотацией @Component - PullRequest
0 голосов
/ 21 мая 2018

Я пытаюсь протестировать JMSSender и JMSReceiver, JMSSender правильно подключается автоматически, но JMSReceiver - нет.

Нет подходящего компонента типа br..framework.TestJMSReceiverImpl ':ожидается, по крайней мере, 1 бин, который квалифицируется в качестве кандидата на автопровод:

@Component
public class TestJMSReceiverImpl extends JMSReceiver {

    public TestJMSReceiverImpl() {
        super("helloworld.q");
    }
    ...
}

JMSReceiver:

public abstract class JMSReceiver {

    @Autowired
    JmsTemplate jmsTemplate;

    private String queue;

    public JMSReceiver(String queue) {
        this.queue = queue;
    }
    ...
}

Кто-нибудь знает, что мне здесь не хватает?

1 Ответ

0 голосов
/ 21 мая 2018

Класс TestJMSReceiverImpl не включен в ваш тестовый контекст.Вам необходимо добавить его в контекстную конфигурацию для класса SpringJmsApplicationTest: изменить

@ContextConfiguration(classes = { JMSSenderConfig.class, JMSReceiverConfig.class })

на

@ContextConfiguration(classes = { JMSSenderConfig.class,
JMSReceiverConfig.class, TestJMSReceiverImpl.class })
...