Exactly - I had the same suspicion with regard to Camel-7963 but was hoping to be proven wrong here. I have not gotten any further unfortunately. I'm planning on trying a few work-arounds but it's unclear what the typical setup ought to be. I would think that others would be in the same boat if they want to apply integration tests to their routes while using camel-spring-boot.
Jeff On Thu, Apr 14, 2016 at 5:16 AM, David Bennison <david.benni...@metapack.com > wrote: > Our problem looks similar to this one with @MockEndpoints raised back in > 2015 against Camel 2.16.0. > > http://grokbase.com/t/camel/users/15bgwdeftt/spring-boot-test-mocks > > The reason given by Joakim Bjørnstad appears to explain what we are > experiencing. > > The last comment on https://issues.apache.org/jira/browse/CAMEL-7963 is:- > > "I still need to add support for Spring test annotations like > @MockEndpoints" > > So perhaps they never got done. I had problems with @MockEndpoints as > well. I am also experiencing strangeness with NotifyBuilder but that could > be unrelated. > ________________________________________ > From: Jeff Segal <jeffrey.se...@gmail.com> > Sent: 12 April 2016 16:46 > To: users@camel.apache.org > Subject: camel-spring-boot + @UseAdviceWith > > All, > > I'm currently creating a camel-spring-boot project and would like to add > some tests using @UseAdviceWith but am hitting a few issues. I couldn't > find an example that fit that use case exactly, so I've played around with > different things to no avail. > > Specifically, I found that when I use @ContextConfiguration to specify my > main Spring app config, my use of > @BootstrapWith(CamelTestContextBootstrapper.class) is honored (i.e. I can > step through it in a debugger during startup) and I can see @UseAdviceWith > being used in CamelSpringTestContextLoader.handleCamelContextStartup(). > However, when I @Autowire my CamelContext into my test class, Spring > startup fails because it can't find my CamelContext Spring bean (even when > I explicitly include a @Configuration that extends CamelConfiguration, > which explicitly creates a CamelContext @Bean). I need a reference to my > CamelContext so that I can start it once I'm done setting up my routeWith > advice. > > One last thing: when I use @SpringApplicationConfiguration instead of > @ContextConfiguration, Spring is able to find the CamelContext bean but it > ignores my @BootstrapWith(CamelTestContextBootstrapper.class) & > @UseAdviceWith and thus just starts up the CamelContext automatically > rather than waiting for me to start it manually (after my routeWith > advice). > > Any pointers on what I might be doing wrong would be great. In summary: > > Honoring @UseAdviceWith but no CamelContext Spring bean: > > @ContextConfiguration(classes = {ApplicationConfig.class}) > @RunWith(CamelSpringJUnit4ClassRunner.class) > @BootstrapWith(CamelTestContextBootstrapper.class) > @UseAdviceWith > @Slf4j > public class MyTest { > > @Autowired > CamelContext camelContext; > > @Test > public void test() throws InterruptedException { > log.info("Starting test..."); > Thread.sleep(1000 * 60); > } > > } > > Have a CamelContext Spring bean but NOT honoring @UseAdviceWith: > > @SpringApplicationConfiguration(classes = {ApplicationConfig.class}) > @RunWith(CamelSpringJUnit4ClassRunner.class) > @BootstrapWith(CamelTestContextBootstrapper.class) > @UseAdviceWith > @Slf4j > public class MyTest { > > @Autowired > CamelContext camelContext; > > @Test > public void test() throws InterruptedException { > log.info("Starting test..."); > Thread.sleep(1000 * 60); > } > > } > > Thanks! > Jeff > This email is confidential and may be privileged. If you are not the > intended recipient, please notify the sender immediately and delete the > email from your computer. You should not copy the email, use it for any > purpose or disclose its contents to any other person. Please note that any > views or opinions presented in this email may be personal to the author and > do not necessarily represent the views or opinions of MetaPack. It is the > responsibility of the recipient to check this email for the presence of > viruses. MetaPack accepts no liability for any damage caused by any virus > transmitted by this email. MetaPack Registered Office: 4th Floor, 200 > Gray’s Inn Road London WC1X 8XZ. Registered in England No. 03870530. VAT No > 945 7723 86. >