hello,
I was wondering about the use of the DirtiesContext-annotation at the
class-level. According to http://camel.apache.org/spring-testing.html, it
"forces Spring Testing to automatically reload the CamelContext after each
test method - this ensures that the tests don't clash with each other".
Reloading the CamelContext takes a while, and I find that my tests are time
consuming when using this annotation (option 1 below). 

I find that my test run much faster with option 2 below, but I am not sure
about the side-effects. All tests send messages to the same endpoint which
is mockEndpointsAndSkip in the adviceWith, but I find when I stop and start
the context, the tests do seem to run isolated. Any thoughts?


Option 1, DirtiesContext:
@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD)
@RunWith(CamelSpringJUnit4ClassRunner.class)
@UseAdviceWith
public final class RouteBuilderTest {...

@Before
    public void setupRouteDefinitionAdviceHttp() throws Exception {
        context.getRouteDefinition(Route.SOLRIZE.name()).adviceWith(context,
new AdviceWithRouteBuilder() {
            @Override
            void configure() throws Exception {
                mockEndpointsAndSkip("http4:localhost:5432");
            }
        })
        context.start();
    }

Option 2, just restart the context:
@RunWith(CamelSpringJUnit4ClassRunner.class)
@UseAdviceWith
public final class RouteBuilderTest {...

@Before
    public void setupRouteDefinitionAdviceHttp() throws Exception {
        context.getRouteDefinition(Route.SOLRIZE.name()).adviceWith(context,
new AdviceWithRouteBuilder() {
            @Override
            void configure() throws Exception {
                mockEndpointsAndSkip("http4:localhost:5432");
            }
        })
        context.start();
    }

    @After
    public void stopContext() {
        context.stop();
    }




--
View this message in context: 
http://camel.465427.n5.nabble.com/DirtiesContext-vs-just-restarting-context-tp5742981.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to