PowermockRunner无法在Spring中加载CamelContext

时间:2015-05-06 10:22:02

标签: spring apache-camel powermock

我正在尝试模拟我班级的静态方法 我创建了一个用

注释的测试类
@RunWith(PowerMockRunner.class)
@PowerMockRunnerDelegate(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes={AppTestConfig.class})
@PrepareForTest({MyStaticClass.class})

在我的application-test-config.xml中,我定义了

<camel:camelContext id="camelContext">
        <camel:template id="camelTemplate" />
    </camel:camelContext />

每当我运行我的测试用例时,它都会给我以下错误

Caused by: javax.xml.bind.UnmarshalException: unexpected element (uri:"http://camel.apache.org/schema/spring", local:"camelContext"). Expected elements are <{}aggregate>,<{}aop>,<{}avro>,<{}barcode>,<{}base64>,<{}batch-config>,<{}bean>,<{}beanPostProcessor>,<{}beanio>,<{}bindy>,<{}**camelContext**>,<{}castor>,<{}choice>,<{}circuitBreaker>,<{}constant>,<{}consumerTemplate>,<{}contextScan>,<{}convertBodyTo>,<{}crypto>,<{}csv>,<{}customDataFormat>,<{}customLoadBalancer>,<{}dataFormats>,<{}delay>,<{}delete>,<{}description>,<{}doCatch>,<{}doFinally>,<{}doTry>,<{}dynamicRouter>,<{}el>,<{}endpoint>,<{}enrich>,<{}errorHandler>,<{}exchangeProperty>,<{}export>,<{}expression>,<{}expressionDefinition>,<{}failover>,<{}filter>,<{}flatpack>,<{}from>,<{}get>,<{}groovy>,<{}gzip>,<{}head>,<{}header>,<{}hl7>,<{}ical>,<{}idempotentConsumer>,<{}inOnly>,<{}inOut>,<{}intercept>,<{}interceptFrom>,<{}interceptSendToEndpoint>,<{}javaScript>,<{}jaxb>,<{}jibx>,<{}jmxAgent>,<{}json>,<{}jsonpath>,<{}jxpath>,<{}keyStoreParameters>,<{}language>,<{}loadBalance>,<{}log>,<{}loop>,<{}marshal>,<{}method>,<{}multicast>,<{}mvel>,<{}ognl>,<{}onCompletion>,<{}onException>,<{}optimisticLockRetryPolicy>,<{}otherwise>,<{}packageScan>,<{}pgp>,<{}php>,<{}pipeline>,<{}policy>,<{}pollEnrich>,<{}post>,<{}process>,<{}properties>,<{}propertiesFunction>,<{}property>,<{}propertyPlaceholder>,<{}protobuf>,<{}proxy>,<{}put>,<{}python>,<{}random>,<{}recipientList>,<{}redeliveryPolicy>,<{}redeliveryPolicyProfile>,<{}ref>,<{}removeHeader>,<{}removeHeaders>,<{}removeProperties>,<{}removeProperty>,<{}resequence>,<{}rest>,<{}restBinding>,<{}restConfiguration>,<{}restContext>,<{}restContextRef>,<{}restProperty>,<{}rests>,<{}rollback>,<{}roundRobin>,<{}route>,<{}routeBuilder>,<{}routeContext>,<{}routeContextRef>,<{}routes>,<{}routingSlip>,<{}rss>,<{}ruby>,<{}sample>,<{}secureRandomParameters>,<{}secureXML>,<{}serialization>,<{}setBody>,<{}setExchangePattern>,<{}setFaultBody>,<{}setHeader>,<{}setOutHeader>,<{}setProperty>,<{}simple>,<{}soapjaxb>,<{}sort>,<{}spel>,<{}split>,<{}sql>,<{}sslContextParameters>,<{}sticky>,<{}stop>,<{}stream-config>,<{}streamCaching>,<{}string>,<{}syslog>,<{}template>,<{}terser>,<{}threadPool>,<{}threadPoolProfile>,<{}threads>,<{}throttle>,<{}throwException>,<{}tidyMarkup>,<{}to>,<{}tokenize>,<{}topic>,<{}transacted>,<{}transform>,<{}univocity-csv>,<{}univocity-fixed>,<{}univocity-header>,<{}univocity-tsv>,<{}unmarshal>,<{}validate>,<{}verb>,<{}vtdxml>,<{}weighted>,<{}when>,<{}wireTap>,<{}xmlBeans>,<{}xmljson>,<{}xmlrpc>,<{}xpath>,<{}xquery>,<{}xstream>,<{}xtokenize>,<{}zip>,<{}zipFile>
    at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent(UnmarshallingContext.java:740)
    at com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:262)
    at com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:257)
    at com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportUnexpectedChildElement(Loader.java:124)
    at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext$DefaultRootLoader.childElement(UnmarshallingContext.java:1148)
    at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext._startElement(UnmarshallingContext.java:573)
    at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.startElement(UnmarshallingContext.java:555)
    at com.sun.xml.bind.v2.runtime.unmarshaller.InterningXmlVisitor.startElement(InterningXmlVisitor.java:75)
    at com.sun.xml.bind.v2.runtime.unmarshaller.SAXConnector.startElement(SAXConnector.java:168)
    at com.sun.xml.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:244)
    at com.sun.xml.bind.unmarshaller.DOMScanner.scan(DOMScanner.java:127)
    at com.sun.xml.bind.unmarshaller.DOMScanner.scan(DOMScanner.java:105)
    at com.sun.xml.bind.v2.runtime.BinderImpl.associativeUnmarshal(BinderImpl.java:161)
    at com.sun.xml.bind.v2.runtime.BinderImpl.unmarshal(BinderImpl.java:132)
    at org.apache.camel.spring.handler.CamelNamespaceHandler.parseUsingJaxb(CamelNamespaceHandler.java:197)
    ... 61 more

错误表示意外元素camelContext,但它在预期元素中列出 camelContext

我正在使用 Junit 4.8.1,Powermock 1.6.2,EasyMock 3.3.1,Spring 3.2.4.RELEASE,Camel 2.15.1

我发现了类似的帖子,但是没有解决问题的办法 Trouble using power mock with camel

请注意,这是普通的java应用程序。

0 个答案:

没有答案