Instead of overloading the method I would prefer another one: - getMockEndpoint will return the endpoint or null - createMockEndpoint will return the endpoint and create one if required But that would change the existing API of getMockEndpoint() :(
Having a 2nd argument would result in getMockEndpoint(uri) { // use 'false' as it is the current implementation return getMockEndpoint(uri,false) } getMockEndpoint(uri,boolean create) ... Maybe it is just enough to improve the javadoc of getMockEndpoint(), describe the "auto-creation" behaviour and link to context.hasEndpoint(uri) ... Jan > -----Ursprüngliche Nachricht----- > Von: Raul Kripalani [mailto:r...@evosent.com] > Gesendet: Freitag, 27. September 2013 15:36 > An: users@camel.apache.org > Betreff: Re: CamelTestSupport Needs a New Method > > I would prefer to add another signature for that method such that it > accepts a 2nd argument "create" which is a boolean. If true, it will > create the endpoint; else it will return null. > > I don't think CamelTestSupport should make the assertion; it should be > the user's code, if that's what he/she is after. > > Regards, > > *Raúl Kripalani* > Apache Camel PMC Member & Committer | Enterprise Architect, Open Source > Integration specialist http://about.me/raulkripalani | > http://www.linkedin.com/in/raulkripalani > http://blog.raulkr.net | twitter: @raulvk > > On Fri, Sep 27, 2013 at 9:11 AM, Willem jiang > <willem.ji...@gmail.com>wrote: > > > Yeah, it's a good suggestion. > > Please feel free to fill a JIRA[1] for it :) > > > > [1]http://issues.apache.org/jira/browse/CAMEL > > > > -- > > Willem Jiang > > > > Red Hat, Inc. > > Web: http://www.redhat.com > > Blog: http://willemjiang.blogspot.com > > (http://willemjiang.blogspot.com/) > > (English) > > http://jnn.iteye.com (http://jnn.javaeye.com/) (Chinese) > > Twitter: willemjiang > > Weibo: 姜宁willem > > > > > > > > > > > > On Friday, September 27, 2013 at 7:54 AM, kraythe . wrote: > > > > > There is a problem with the CamelTestSupport class in that if you > > > call getMockEndpoint on an endpoint that doesnt exist, it blithely > > > returns you an endpoint connected to nothing. The problem is you > end > > > up chasing > > endless > > > test failures when the fact is your endpoint is not even there. So > I > > > suggest a method I added to my subclass of CamelTestSupport which > is: > > > > > > protected MockEndpoint assertAndGetMockEndpoint(final String uri) { > > > > > > assertNotNull(context.hasEndpoint(uri)); > > > > > > return getMockEndpoint(uri); > > > > > > } > > > > > > This method will make sure that the endpoint is there before > > > returning it and it will make tests easier to write. > > > > > > > >