I recommend starting your whole Spring Boot application in prior to executing the Citrus tests instead of loading only the listener class as bean in Citrus. You can do this with spring-boot-maven-plugin in Maven pre-integration-test phase for instance.
Also I think you are missing the embedded ActiveMQ message broker. Just using the connection factory is not enough. You can use an embedded broker bean in the Citrus application context. You could also use the activemq-maven-plugin in pre-integration-test phase in Maven though.
I think you should have a look at the samples here:
Thanks I found out via google that you can run it with -Dembedded=true to activate the profile.
But what is the difference in running it with this parameter or running it in vm mode?
With the vm mode it works when I run directly from the IDE with normal testng way. So no need to startup a broker manually first or pass parameters in the run configuration.
Hi, maybe a bit out of topic and on the other hand maybe not.
Let say my application (SUT) is consuming messages on Q1 and putting messages on Q2. My application consist out of (one or more) spring boot application(s).
The normal way would be to have it always running before doing the test.
Is there a way to configure that in a way that in the pre-integration-test step of maven this will be started?
In some cases I need to start like 3 separate JVMs, and will they could be stopped in the post-integration-test step?