ZengCode.Com (The Thai Php Framework)  


Home   Download   Manual   About us    

Facebook   


MAIN MENU
เขียนโปรแกรมบน iPhone ด้วย MonoTouch
News
Php Tips
Ubuntu
Spring+Strut+Hibernate
Android Programming
Design Pattern By PHP
C# Design Pattern
Linux Quick Tips
C# Tips & Technique
C# using Linq น่าใช้จริงๆ
Java & JavaScript Tips
MAVEN
Database & SQL
ZengCode Framework Guide
Mac OSx
Zeng Code Code
Programming
IPhone (Tips and Trick)

Download เอกสารที่น่าสนใจ

     ตัวอย่างการใช้ CamelTestSupport ในการเทส Camel Route ว่าทำงานถูกต้องหรือไม่ แบบง่ายๆ  (2011-09-22)

ตัวอย่างการใช้  CamelTestSupport ในการเทส Camel แบบง่ายๆ

import org.apache.camel.ConsumerTemplate;
import org.apache.camel.EndpointInject;
import org.apache.camel.Exchange;
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.test.CamelTestSupport;
import org.junit.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.Hashtable;
import java.util.Map;


public class TestCamel1 extends CamelTestSupport {
    private Logger log = LoggerFactory.getLogger(TestCamel1.class);

    @EndpointInject(uri = "mock:result")
    protected MockEndpoint resultEndpoint;

    @Produce(uri = "direct:start")
    protected ProducerTemplate producer;

    protected ConsumerTemplate consumer;

    @Override
    protected RouteBuilder createRouteBuilder() {
        return new RouteBuilder() {
            public void configure() {
                from("direct:start")
                    .bean(ChangeAge.class)
                    .to("mock:result");
            }
        };
    }

    @Test
    public void testDummy() throws Exception {
        Exchange exchange = createExchangeWithBody("Hello Camel");
        exchange.getIn().setHeaders(createHeader());
        resultEndpoint.expectedMessageCount(1);
        resultEndpoint.expectedHeaderReceived("NAME", "Pea");
        resultEndpoint.expectedHeaderReceived("AGE", "30");
        resultEndpoint.expectedBodiesReceived("Hello Camel. I Love You");
        producer.send(exchange);
        resultEndpoint.assertIsSatisfied();

    }
    private Map createHeader(){
            Map<String,String> header = new Hashtable<String,String>();
            header.put("NAME","Pea");
            header.put("AGE","25");
            return header;
    }


}

 

Bean Component

import org.apache.camel.Exchange;

public class ChangeAge {

    public void changeAge(Exchange exchange) {
        exchange.getIn().setHeader("AGE", "30");
        exchange.getIn().setBody("Hello Camel. I Love You");
    }
}

 ไม่ยากนะครับลองเอาไปใช้กันดู


Comment

lnw  (09 ธันวาคม 2554)   
IP : 27.254.2.116

lnw มากๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆ


Name
Comment
Security CodeCAPTCHA Image

web hit counter

This page took 0.059949 seconds to load.