Indeed, I use junit4.

Do you prefer that I switch to Junit3 for the test ?


James.Strachan wrote:
> 
> I'd not noticed you'd used junit4; all the Camel examples still use
> JUnit3.
> 
> To run a test case in JUnit4 the name of the method is irrelevant -
> you have to use @Test to make it a test
> 
> 
> 2009/1/13 cmoulliard <[email protected]>:
>>
>> Using the following syntax, the test is executed :
>>
>> package org.apache.camel.bindy.csv;
>>
>> import org.apache.camel.EndpointInject;
>> import org.apache.camel.Produce;
>> import org.apache.camel.ProducerTemplate;
>> import org.apache.camel.builder.RouteBuilder;
>> import org.apache.camel.component.mock.MockEndpoint;
>> import org.apache.camel.spring.javaconfig.SingleRouteCamelConfiguration;
>> import org.apache.commons.logging.Log;
>> import org.apache.commons.logging.LogFactory;
>> import org.junit.Test;
>> import org.springframework.config.java.annotation.Bean;
>> import org.springframework.config.java.annotation.Configuration;
>> import org.springframework.config.java.test.JavaConfigContextLoader;
>> import org.springframework.test.annotation.DirtiesContext;
>> import org.springframework.test.context.ContextConfiguration;
>> import
>> org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
>>
>> @ContextConfiguration(locations =
>> "org.apache.camel.bindy.csv.BindyCSVUnmarshallTest$ContextConfig",
>>                              loader = JavaConfigContextLoader.class)
>> public class BindyCSVUnmarshallTest extends
>> AbstractJUnit4SpringContextTests
>> {
>>
>>        private static final transient Log LOG = LogFactory
>>                        .getLog(BindyCSVUnmarshallTest.class);
>>
>>        String record = "01,A,Albert,Cartier,BE12345678,Belgacom Ventage
>> 10/10,1500,EUR,08-01-2009";
>>
>>        @EndpointInject(uri = "mock:result")
>>        protected MockEndpoint resultEndpoint;
>>
>>    @Produce(uri = "direct:start")
>>    protected ProducerTemplate template;
>>
>>    @Test
>>    public void testMarshallMessage() throws Exception {
>>
>>        resultEndpoint.expectedBodiesReceived(record);
>>        template.sendBody(record);
>>
>>        resultEndpoint.assertIsSatisfied();
>>
>>    }
>>
>>
>>        @Configuration
>>        public static class ContextConfig extends
>> SingleRouteCamelConfiguration {
>>
>>                CamelDataFormat camelDataFormat = new
>> CamelDataFormat("org.apache.camel.bindy.model");
>>
>>                @Bean
>>                public RouteBuilder route() {
>>                        return new RouteBuilder() {
>>                                public void configure() {
>>                                        from("direct:start")
>>                                        //from("file://src/test/data/")
>>                                    .unmarshal(camelDataFormat)
>>                                        .to("mock:result");
>>                                }
>>                        };
>>                }
>>        }
>>
>> }
>>
>>
>> BUT junit reports the following error :
>>
>> main INFO
>> [org.springframework.beans.factory.support.DefaultListableBeanFactory] -
>> Destroying singletons in
>> org.springframework.beans.factory.support.defaultlistablebeanfact...@1e78c96:
>> defining beans
>> [org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,camelBeanPostProcessor];
>> parent:
>> org.springframework.beans.factory.support.defaultlistablebeanfact...@105d88a
>> org.apache.maven.surefire.booter.SurefireExecutionException:
>> org/junit/Assume$AssumptionViolatedException; nested exception is
>> java.lang.NoClassDefFoundError:
>> org/junit/Assume$AssumptionViolatedException
>> java.lang.NoClassDefFoundError:
>> org/junit/Assume$AssumptionViolatedException
>>        at
>> org.springframework.test.context.junit4.SpringMethodRoadie.runTestMethod(SpringMethodRoadie.java:240)
>>        at
>> org.springframework.test.context.junit4.SpringMethodRoadie$RunBeforesThenTestThenAfters.run(SpringMethodRoadie.java:333)
>>        at
>> org.springframework.test.context.junit4.SpringMethodRoadie.runWithRepetitions(SpringMethodRoadie.java:217)
>>        at
>> org.springframework.test.context.junit4.SpringMethodRoadie.runTest(SpringMethodRoadie.java:197)
>>        at
>> org.springframework.test.context.junit4.SpringMethodRoadie.run(SpringMethodRoadie.java:143)
>>        at
>> org.springframework.test.context.junit4.SpringJUnit4ClassRunner.invokeTestMethod(SpringJUnit4ClassRunner.java:160)
>>        at
>> org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:59)
>>        at
>> org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:52)
>>        at
>> org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:34)
>>        at
>> org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:44)
>>        at
>> org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:50)
>>        at
>> org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:97)
>>        at
>> org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62)
>>        at
>> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140)
>>        at
>> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127)
>>        at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
>>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>        at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>        at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>        at java.lang.reflect.Method.invoke(Method.java:585)
>>        at
>> org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:338)
>>        at
>> org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:997)
>> [ERROR]
>>
>> James.Strachan wrote:
>>>
>>> Ah...
>>>
>>>
>>> 2009/1/13 cmoulliard <[email protected]>:
>>> [snip]
>>>
>>>
>>>> @ContextConfiguration(locations =
>>>> "org.apache.camel.spring.javaconfig.patterns.FilterTest$ContextConfig",
>>>
>>> The above annotation is the name of the class to create for your
>>> ApplicationContext - not the one inside BindyCSVUnmarshallTest.
>>>
>>> Currently JavaConfig and Spring Test don't work that nicely together
>>> so you have to use a fully qualified class name unfortunatley
>>>
>>> --
>>> James
>>> -------
>>> http://macstrac.blogspot.com/
>>>
>>> Open Source Integration
>>> http://fusesource.com/
>>>
>>>
>>
>>
>> -----
>> Charles Moulliard
>> SOA Architect
>>
>> My Blog :  http://cmoulliard.blogspot.com/
>> http://cmoulliard.blogspot.com/
>> --
>> View this message in context:
>> http://www.nabble.com/only-testMocksAreValid-is-executed-by-Camel-Spring-unit-test-%21%21-tp21436628s22882p21437293.html
>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>
>>
> 
> 
> 
> -- 
> James
> -------
> http://macstrac.blogspot.com/
> 
> Open Source Integration
> http://fusesource.com/
> 
> 


-----
Charles Moulliard
SOA Architect

My Blog :  http://cmoulliard.blogspot.com/ http://cmoulliard.blogspot.com/  
-- 
View this message in context: 
http://www.nabble.com/only-testMocksAreValid-is-executed-by-Camel-Spring-unit-test-%21%21-tp21436628s22882p21437517.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to