2015-02-03 4 views
0

Являясь новым для верблюда Apache, работаю с ним за последние 2 недели.Испытательные шкафы для верблюда Apache

Я написал один маршрут для загрузки по FTP, а затем разархивировал загруженные файлы с FTP и затем разобрал файлы csv в объекты bean.

Теперь я должен написать единичные тестовые примеры для этого маршрута, поэтому я разделил их на части, такие как 1 для FT, 1 для Unzipping и 1 для синтаксического разбора bean-файла, с помощью записи теста FTP успешно, но для следующего две задачи не ясны о том, как действовать для распаковки и синтаксического анализа на модульный тест, может ли кто-нибудь помочь мне в этом?

Спасибо за помощь

+1

Это не юнит тест; это интеграционный тест. Вы должны проверять каждую деталь индивидуально и высмеивать остальные. – duffymo

+0

Каждая деталь индивидуально! пожалуйста, дайте мне немного света на этот образец кода («{{ftp.server}}»). («file: tmp/inbound»). log («Обработка $ {file: name}») . setHeader ("flightkey", simple ("$ {file: onlyname.noext}")) .split (новый ZipSplitter()). streaming() .convertBodyTo (String.class) .setHeader (Exchange.FILE_NAME, простой ("$ {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(); 
} 
Смежные вопросы