PowermockRunner无法在Spring中加载上下文
我试图模仿我的类的静态方法 我创建了一个测试类,用PowermockRunner无法在Spring中加载上下文,spring,apache-camel,powermock,Spring,Apache Camel,Powermock,我试图模仿我的类的静态方法 我创建了一个测试类,用 @RunWith(PowerMockRunner.class) @PowerMockRunnerDelegate(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes={AppTestConfig.class}) @PrepareForTest({MyStaticClass.class}) 在application-test-config.xml中,我定义了 <came
@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
原因:javax.xml.bind.UnmarshaleException:意外元素(uri:)http://camel.apache.org/schema/spring,本地:“上下文”)。预期的元素为,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
位于com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent(UnmarshallingContext.java:740)
位于com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:262)
位于com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:257)
位于com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportUnexpectedChildElement(Loader.java:124)
位于com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext$DefaultRootLoader.childElement(UnmarshallingContext.java:1148)
位于com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.\u startElement(UnmarshallingContext.java:573)
位于com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.startElement(UnmarshallingContext.java:555)
位于com.sun.xml.bind.v2.runtime.unmarshaller.InterningXmlVisitor.startElement(InterningXmlVisitor.java:75)
位于com.sun.xml.bind.v2.runtime.unmarshaller.SAXConnector.startElement(SAXConnector.java:168)
访问com.sun.xml.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:244)
位于com.sun.xml.bind.unmarshaller.DOMScanner.scan(DOMScanner.java:127)
位于com.sun.xml.bind.unmarshaller.DOMScanner.scan(DOMScanner.java:105)
位于com.sun.xml.bind.v2.runtime.BinderImpl.AssociationUnmarshal(BinderImpl.java:161)
位于com.sun.xml.bind.v2.runtime.BinderImpl.unmarshal(BinderImpl.java:132)
位于org.apache.camel.spring.handler.CamelNamespaceHandler.parseUsingJaxb(CamelNamespaceHandler.java:197)
... 61多
错误显示意外元素camelContext,但它在预期元素中列出了camelContext
我正在使用
Junit 4.8.1、Powermock 1.6.2、EasyMock 3.3.1、Spring 3.2.4.版本、Camel 2.15.1
我发现了类似的帖子,但没有解决问题的方法
请注意,这是一个普通的java应用程序。可能是打字错误?->是一个/太多了。看起来不止你一个人有powermock问题:我有完全相同的问题,在另一个问题中提供了尝试过的解决方案,但它不起作用。我在2015年发现了这个bug: