Hi everybody.
i have written some tests using easymock + classextension together
with jmockit and dbunit.
now i have installed powermock but it takes a long time until the test
starts and i get following error:
java.lang.ClassCastException:
org.apache.xerces.jaxp.SAXParserFactoryImpl cannot be cast to
javax.xml.parsers.SAXParserFactory
at javax.xml.parsers.SAXParserFactory.newInstance(Unknown Source)
at org.dbunit.dataset.xml.FlatXmlProducer.produce
(FlatXmlProducer.java:344)
at org.dbunit.dataset.CachedDataSet.<init>(CachedDataSet.java:97)
at org.dbunit.dataset.CachedDataSet.<init>(CachedDataSet.java:81)
at org.dbunit.dataset.xml.FlatXmlDataSet.<init>(FlatXmlDataSet.java:
303)
at org.dbunit.dataset.xml.FlatXmlDataSet.<init>(FlatXmlDataSet.java:
290)
at Crayons.App.Entry.SaveRawPageTestZusatz_powermock.getDataSet
(SaveRawPageTestZusatz_powermock.java:206)
at
Crayons.App.Entry.SaveRawPageTestZusatz_powermock.setUpDbUnitDatabase
(SaveRawPageTestZusatz_powermock.java:222)
at Crayons.App.Entry.SaveRawPageTestZusatz_powermock.setUp
(SaveRawPageTestZusatz_powermock.java:278)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.junit.internal.runners.MethodRoadie.runBefores
(MethodRoadie.java:129)
at
org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters
(MethodRoadie.java:93)
at
org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl
$2.runBeforesThenTestThenAfters
(PowerMockJUnit44RunnerDelegateImpl.java:207)
at org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:
84)
at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:49)
at
org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl.invokeTestMethod
(PowerMockJUnit44RunnerDelegateImpl.java:202)
at
org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl.runMethods
(PowerMockJUnit44RunnerDelegateImpl.java:156)
at
org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl
$1.run(PowerMockJUnit44RunnerDelegateImpl.java:130)
at org.junit.internal.runners.ClassRoadie.runUnprotected
(ClassRoadie.java:34)
at org.junit.internal.runners.ClassRoadie.runProtected
(ClassRoadie.java:44)
at
org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl.run
(PowerMockJUnit44RunnerDelegateImpl.java:128)
at
org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.run
(JUnit4TestSuiteChunkerImpl.java:112)
at
org.powermock.modules.junit4.common.internal.impl.AbstractCommonPowerMockRunner.run
(AbstractCommonPowerMockRunner.java:44)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run
(JUnit4TestReference.java:45)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run
(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests
(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests
(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run
(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main
(RemoteTestRunner.java:196)
the failure seems to happens in dbunit when i try to load a xml file
to a IDataSet
like in
http://groups.google.com/group/powermock/browse_thread/thread/88079512f2dfcbd1
i tried using
@PowerMockIgnore("org.apache") but nothing changed
and @PowerMockIgnore("javax.xml") just gives me a different failure
exception:
java.lang.LinkageError: loader constraint violation: loader (instance
of org/powermock/core/classloader/MockClassLoader) previously
initiated loading for a different type with name "org/xml/sax/
XMLReader"
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.lang.ClassLoader.defineClass(ClassLoader.java:465)
at org.powermock.core.classloader.MockClassLoader.loadUnmockedClass
(MockClassLoader.java:180)
at org.powermock.core.classloader.MockClassLoader.loadModifiedClass
(MockClassLoader.java:144)
at org.powermock.core.classloader.DeferSupportingClassLoader.loadClass
(DeferSupportingClassLoader.java:57)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at org.dbunit.dataset.xml.FlatDtdProducer.setLexicalHandler
(FlatDtdProducer.java:132)
at org.dbunit.dataset.xml.FlatXmlProducer.produce
(FlatXmlProducer.java:350)
at org.dbunit.dataset.CachedDataSet.<init>(CachedDataSet.java:97)
at org.dbunit.dataset.CachedDataSet.<init>(CachedDataSet.java:81)
at org.dbunit.dataset.xml.FlatXmlDataSet.<init>(FlatXmlDataSet.java:
303)
at org.dbunit.dataset.xml.FlatXmlDataSet.<init>(FlatXmlDataSet.java:
290)
at Crayons.App.Entry.SaveRawPageTestZusatz_powermock.getDataSet
(SaveRawPageTestZusatz_powermock.java:195)
has anyone experienced this before?
p.s. i am using junit-4.5, dbunit-2.4.3., the test runs with
jdk1.6.0_05 on Eclipse Platform Version: 3.4.0