2015-02-03 3 views
0

지난 2 주 동안 Apache camel을 처음 사용했습니다.아파치 낙타 단위 테스트 케이스

FTP 다운로드를 위해 단일 경로를 작성한 다음 FTP에서 다운로드 한 파일의 압축을 풀고 csv 파일을 Bean 객체로 구문 분석했습니다.

이제는이 경로에 대한 단위 테스트 케이스를 작성해야합니다. 그래서 FT 1, Unzipping 1, Bean에 대한 구문 분석 1과 같은 부분으로 나누었습니다. FTP 테스트를 성공적으로 작성했지만 다음 번에는 두 작업은 unzipping 및 콩 단위 테스트 구문 분석을 진행하는 방법에 대한 명확하지 오전, 아무도이 날 도와주세요 수 있습니까? 도움

+1

; 이것은 통합 테스트입니다. 각 조각을 개별적으로 테스트하고 나머지는 조롱해야합니다. – duffymo

+0

각 조각은 개별적으로! ("{{ftp.server}}"). ("file : tmp/inbound") .log ("Processsing $ {file : name}")에서 샘플 코드에 대한 정보를 얻으시겠습니까? . 스트링() .convertBodyTo (String.class) .setHeader (Exchange.FILE_NAME, simple (" ("$ {header.flightkey}/$ {file : name}")) .to ("file : tmp/inbound") log ("CamelFileName $ {header.CamelFileName}") –

+1

비트 검사. Apache Camel 유닛 테스트를 확인하십시오. 그들이 물건을 시험해 본다면, 당신이 그 물건을 검사 할 필요가 없습니다. 어쩌면 당신은 여기 모의면에서 생각할 필요가있을 것입니다. – duffymo

답변

1

에 대한

덕분에 ... 제대로의 설치를 주장 모의 엔드 포인트를 사용하여 경로의 흐름을 테스트하기 위해 Camel AdviceWith에서 살펴

단위 테스트 아니다
public void testAdvised() throws Exception { 
    // advice the first route using the inlined route builder 
    context.getRouteDefinitions().get(0).adviceWith(context, new RouteBuilder() { 
     @Override 
     public void configure() throws Exception { 
      // intercept sending to mock:foo and do something else 
      interceptSendToEndpoint("mock:foo") 
        .skipSendToOriginalEndpoint() 
        .to("log:foo") 
        .to("mock:advised"); 
     } 
    }); 

    getMockEndpoint("mock:foo").expectedMessageCount(0); 
    getMockEndpoint("mock:advised").expectedMessageCount(1); 
    getMockEndpoint("mock:result").expectedMessageCount(1); 

    template.sendBody("direct:start", "Hello World"); 

    assertMockEndpointsSatisfied(); 
}