У меня есть этот маршрут:
public class SomeRoute {
@OVerride
public void configure() {
from("direct:route1")
.process(processor1)
.split(body())
.process(persistProcessor)
....
}
}
Тестовый класс для этого:
public class SOmeRouteTest {
Processor processor1Mock;
@Before
public void setUp() {
processor1Mock = Mockito.mock(Processor1.class);
testObj = new SomeRoute();
testObj.setProcessor1(processor1Mock);
}
@TEst
public void test() {
//Processor processor = MOckito.mock(Processor1.class);
doAnswer((Answer) invocation -> {
// something with Exchange
Exchange ex = invocation.getARgumentAt(0, Exchange.class);
ex.getIn().setBody(new ArrayList<String>);
return null;
})
template.sendBody("route1", json);
}
}
.Теперь разделение не работает, и оно идет напрямую в persistProcessor.Фактический Processor1 генерирует исключение приведения класса, потому что persistProcessor ожидает String, но маршрут передает ему ArrayList.
Пожалуйста, помогите.