-------------------------------------------------------
T E S T S
-------------------------------------------------------
There are no tests to run.
Results :
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
...but when I run the same test in Eclipse it runs and passes as
expected. I set the test up like this:
@RunWith( PowerMockRunner.class )
@PrepareForTest( {SomeClass.class} )
@SuppressStaticInitializationFor({"com.example.SomeClass",
"com.example.SomeOtherClass"})
public class MyTest {
@Test
public void testSomething( ) { ... }
Now, when I run the test via surefire and tell it which test to run it
executes the test but blows up a different way:
initializationError0(com.example.MyTest) Time elapsed: 0.016 sec <<<
ERROR!
java.lang.IllegalStateException: Failed to transform class with name
com.example.MyTest. Reason: 3
at
org.powermock.core.classloader.MockClassLoader.loadMockClass(MockClassLoader.java:
208)
at
org.powermock.core.classloader.MockClassLoader.loadModifiedClass(MockClassLoader.java:
146)
at
org.powermock.core.classloader.DeferSupportingClassLoader.loadClass(DeferSupportingClassLoader.java:
63)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:316)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at
org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.createDelegatorFromClassloader(JUnit4TestSuiteChunkerImpl.java:
140)
at
org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.createDelegatorFromClassloader(JUnit4TestSuiteChunkerImpl.java:
49)
at
org.powermock.tests.utils.impl.AbstractTestSuiteChunkerImpl.createTestDelegators(AbstractTestSuiteChunkerImpl.java:
231)
at
org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.<init>(JUnit4TestSuiteChunkerImpl.java:
69)
at
org.powermock.modules.junit4.common.internal.impl.AbstractCommonPowerMockRunner.<init>(AbstractCommonPowerMockRunner.java:
35)
at
org.powermock.modules.junit4.PowerMockRunner.<init>(PowerMockRunner.java:
27)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:
39)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:
27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at
org.junit.internal.requests.ClassRequest.buildRunner(ClassRequest.java:
33)
at
org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:
28)
at
org.apache.maven.surefire.junit4.JUnit4TestSet.<init>(JUnit4TestSet.java:
45)
at
org.apache.maven.surefire.junit4.JUnit4DirectoryTestSuite.createTestSet(JUnit4DirectoryTestSuite.java:
56)
at
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.locateTestSets(AbstractDirectoryTestSuite.java:
96)
at
org.apache.maven.surefire.Surefire.createSuiteFromDefinition(Surefire.java:
209)
at org.apache.maven.surefire.Surefire.run(Surefire.java:156)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:
345)
at
org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:
1009)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 3
at javassist.bytecode.ByteArray.write16bit(ByteArray.java:40)
at javassist.bytecode.StackMapTable$Shifter.update(StackMapTable.java:
744)
at javassist.bytecode.StackMapTable
$Shifter.sameFrame(StackMapTable.java:720)
at javassist.bytecode.StackMapTable
$Walker.stackMapFrames(StackMapTable.java:194)
at javassist.bytecode.StackMapTable$Walker.parse(StackMapTable.java:
179)
at javassist.bytecode.StackMapTable$Shifter.doit(StackMapTable.java:
714)
at javassist.bytecode.StackMapTable.shiftPc(StackMapTable.java:693)
at javassist.bytecode.CodeIterator.insertGap0(CodeIterator.java:676)
at javassist.bytecode.CodeIterator.insertGap(CodeIterator.java:636)
at javassist.bytecode.CodeIterator.insertGapCore(CodeIterator.java:
467)
at javassist.bytecode.CodeIterator.insertGap(CodeIterator.java:413)
at javassist.expr.Expr.replace0(Expr.java:290)
at javassist.expr.FieldAccess.replace(FieldAccess.java:213)
at org.powermock.core.transformers.impl.MainMockTransformer
$PowerMockExpressionEditor.edit(MainMockTransformer.java:230)
at javassist.expr.ExprEditor.loopBody(ExprEditor.java:197)
at javassist.expr.ExprEditor.doit(ExprEditor.java:90)
at javassist.CtClassType.instrument(CtClassType.java:1288)
at
org.powermock.core.transformers.impl.MainMockTransformer.transform(MainMockTransformer.java:
70)
at
org.powermock.core.classloader.MockClassLoader.loadMockClass(MockClassLoader.java:
204)
... 29 more
I am pulling PowerMock into maven as per the Twiki =>
http://code.google.com/p/powermock/wiki/EasyMock_maven with JUnit 4.4
and I'm also using EasyMock
<dependency>
<groupId>org.powermock.modules</groupId>
<artifactId>powermock-module-junit4</artifactId>
<version>${powermock.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock.api</groupId>
<artifactId>powermock-api-easymock</artifactId>
<version>${powermock.version}</version>
<scope>test</scope>
</dependency>
and using ${powermock.version} == 1.3.5
Can someone give me a pointer on what I can do to resolve this?
Thanks in advance,
Davis
mvn project-info-reports:dependencies
to generate a full dependency report and look at the dependencies
powermock has vs. my other dependencies, and I found this:
org.hibernatespatial:hibernate-spatial:jar:1.0-M2-axeda-1.0
(provided)
org.hibernate:hibernate:jar:3.2.4.sp1 (provided)
com.vividsolutions:jts:jar:1.10 (provided)
jboss:javassist:jar:3.6.ga (provided)
which PowerMock also needs -- except a newer version:
org.powermock:powermock-core:jar:1.3.5 (test)
org.powermock.reflect:powermock-reflect:jar:1.3.5 (test)
javassist:javassist:jar:3.10.0.GA (test)
I excluded the jboss:javassist and the ArrayIndexOutOfBoundsException
goes away when I run
mvn test -Dtest=MyTest
...but I still can't just run:
mvn test
it reports There are no tests to run -- any ideas?
> org.powermock.modules.junit4.common.internal.impl.AbstractCommonPowerMockRu nner.<init>(AbstractCommonPowerMockRunner.java:
> I am pulling PowerMock into maven as per the Twiki =>http://code.google.com/p/powermock/wiki/EasyMock_mavenwith JUnit 4.4
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<includes>
<include>**/*/*Test.java</include>
</includes>
</configuration>
</plugin>
> > I am pulling PowerMock into maven as per the Twiki =>http://code.google.com/p/powermock/wiki/EasyMock_mavenwithJUnit 4.4
--
You received this message because you are subscribed to the Google Groups "PowerMock" group.
To post to this group, send email to powe...@googlegroups.com.
To unsubscribe from this group, send email to powermock+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/powermock?hl=en.
--
Zeno Consulting, Inc.
home: http://www.zenoconsulting.biz
blog: http://zenoconsulting.wikidot.com
p: 248.894.4922
f: 313.884.2977