Thoppan / powermock

Automatically exported from code.google.com/p/powermock
Apache License 2.0
0 stars 0 forks source link

Strange PowerMock error #314

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Why would I get an error such as this when I'm not doing anything related to 
email?  I've also included my code in a Word document.  I'm using the most 
recent versions of PowerMock and TestNG, along with MyEclipse Blue 8.6 and Java 
5 (using the Websphere 6.1 JVM).  Thanks!

java.lang.NoClassDefFoundError: com.sun.mail.util.LineInputStream
    at javax.mail.Session.loadProvidersFromStream(Session.java:928)
    at javax.mail.Session.access$000(Session.java:174)
    at javax.mail.Session$1.load(Session.java:870)
    at javax.mail.Session.loadResource(Session.java:1084)
    at javax.mail.Session.loadProviders(Session.java:889)
    at javax.mail.Session.<init>(Session.java:210)
    at javax.mail.Session.getInstance(Session.java:232)
    at org.apache.log4j.net.SMTPAppender.activateOptions(Unknown Source)
    at org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:247)
    at org.apache.log4j.xml.DOMConfigurator.parseAppender(DOMConfigurator.java:210)
    at org.apache.log4j.xml.DOMConfigurator.findAppenderByName(DOMConfigurator.java:140)
    at org.apache.log4j.xml.DOMConfigurator.findAppenderByReference(DOMConfigurator.java:153)
    at org.apache.log4j.xml.DOMConfigurator.parseChildrenOfLoggerElement(DOMConfigurator.java:415)
    at org.apache.log4j.xml.DOMConfigurator.parseRoot(DOMConfigurator.java:384)
    at org.apache.log4j.xml.DOMConfigurator.parse(DOMConfigurator.java:783)
    at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:666)
    at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:616)
    at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:602)
    at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:460)
    at org.apache.log4j.LogManager.<clinit>(LogManager.java:113)
    at java.lang.J9VMInternals.initializeImpl(Native Method)
    at java.lang.J9VMInternals.initialize(J9VMInternals.java:196)
    at org.apache.log4j.Logger.getLogger(Logger.java:94)
    at com.benecard.dal.dao.base.BaseDAO.<clinit>(BaseDAO.java:19)
    at java.lang.J9VMInternals.initializeImpl(Native Method)
    at java.lang.J9VMInternals.initialize(J9VMInternals.java:196)
    at java.lang.J9VMInternals.initialize(J9VMInternals.java:161)
    at java.lang.J9VMInternals.initialize(J9VMInternals.java:161)
    at java.lang.J9VMInternals.initialize(J9VMInternals.java:161)
    at sun.reflect.GeneratedSerializationConstructorAccessor9.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:522)
    at org.objenesis.instantiator.sun.SunReflectionFactoryInstantiator.newInstance(SunReflectionFactoryInstantiator.java:40)
    at org.objenesis.ObjenesisBase.newInstance(ObjenesisBase.java:59)
    at org.mockito.internal.creation.jmock.ClassImposterizer.createProxy(ClassImposterizer.java:111)
    at org.mockito.internal.creation.jmock.ClassImposterizer.imposterise(ClassImposterizer.java:51)
    at org.powermock.api.mockito.internal.mockcreation.MockCreator.createMethodInvocationControl(MockCreator.java:100)
    at org.powermock.api.mockito.internal.mockcreation.MockCreator.mock(MockCreator.java:58)
    at org.powermock.api.mockito.PowerMockito.mock(PowerMockito.java:138)
    at com.benecard.dal.dao.DrugDALTest.getDrugRDS(DrugDALTest.java:50)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:618)
    at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:74)
    at org.testng.internal.Invoker.invokeMethod(Invoker.java:673)
    at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:846)
    at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1170)
    at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
    at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
    at org.testng.TestRunner.runWorkers(TestRunner.java:1147)
    at org.testng.TestRunner.privateRun(TestRunner.java:749)
    at org.testng.TestRunner.run(TestRunner.java:600)
    at org.testng.SuiteRunner.runTest(SuiteRunner.java:317)
    at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:312)
    at org.testng.SuiteRunner.privateRun(SuiteRunner.java:274)
    at org.testng.SuiteRunner.run(SuiteRunner.java:223)
    at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
    at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
    at org.testng.TestNG.runSuitesSequentially(TestNG.java:1039)
    at org.testng.TestNG.runSuitesLocally(TestNG.java:964)
    at org.testng.TestNG.run(TestNG.java:900)
    at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:110)
    at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:205)
    at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:174)

Original issue reported on code.google.com by tim.wal...@benecard.com on 24 Feb 2011 at 8:07

Attachments:

GoogleCodeExporter commented 9 years ago
Try using @PowerMockIgnore("javax.mail.*");

Original comment by johan.ha...@gmail.com on 25 Feb 2011 at 8:50

GoogleCodeExporter commented 9 years ago
I tried your suggestion, but I continue to receive the same error.  That I 
would be getting that particular error makes no sense to me, as I'm not doing 
anything email related.

Original comment by tim.wal...@benecard.com on 25 Feb 2011 at 2:29

GoogleCodeExporter commented 9 years ago
It's a classloading thing. Try @PowerMockIgnore("org.apache.log4j.*").

Original comment by johan.ha...@gmail.com on 5 Mar 2011 at 2:35

GoogleCodeExporter commented 9 years ago
Tried that, along with @PowerMockIgnore("javax.mail.Session.*") and 
@PowerMockIgnore( { "javax.mail.Session.*", "org.apache.log4j.*" }).  Still 
getting the error.

Original comment by tim.wal...@benecard.com on 8 Mar 2011 at 4:12

GoogleCodeExporter commented 9 years ago
Could you provide a small runnable example that I could have a look at?

Original comment by johan.ha...@gmail.com on 9 Mar 2011 at 8:10

GoogleCodeExporter commented 9 years ago
Try using the new powermock-module-junit4-rule-agent prject that's available in 
the trunk. Use the PowerMockRule instead of RunWith to bootstrap the test. I'm 
quite sure it'll solve your problems.

Original comment by johan.ha...@gmail.com on 11 Apr 2011 at 8:28