PreviousNextTracker indexSee it online !

(297/301) 3519395 - JUnit run tests error

I have set JUnit classpaths in my project:
C:\Program Files\jUnit\junit-4.10.jar
C:\Program Files\Java\jre7\lib\rt.jar
C:\Program Files\robocode\libs\robocode.jar
D:\src\git\robocode

My files are D:\src\git\robocode\sharkodlak\robocode\trigonometry\Vector.class and D:\src\git\robocode\sharkodlak\robocode\tests\trigonometry\VectorTest.class. My package is sharkodlak.robocode.trigonometry for Vector and sharkodlak.robocode.tests.trigonometry for VectorTest.

When I click on Select test class, I pick VectorTest - sharkodlak.robocode.tests.trigonometry. In left top drop down box, sharkodlak.robocode.tests.trigonometry.VectorTest is filled. Then I click on Run Tests and I get following stack trace:

java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at org.gjt.sp.jedit.JARClassLoader._loadClass(JARClassLoader.java:439)
at org.gjt.sp.jedit.JARClassLoader.loadClass(JARClassLoader.java:109)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.junit.internal.builders.JUnit4Builder.runnerForClass(JUnit4Builder.java:13)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)
at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:29)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)
at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:24)
at junit.jeditui.TestRunner.runSuite(TestRunner.java:114)
at junit.jeditui.JUnitDockable$8.actionPerformed(JUnitDockable.java:471)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.hamcrest.SelfDescribing
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.gjt.sp.jedit.JARClassLoader.loadFromParent(JARClassLoader.java:522)
at org.gjt.sp.jedit.JARClassLoader.loadClass(JARClassLoader.java:87)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 51 more

Same error for AllTests.class.
My environment is Windows XP 32 bit, Java jdk-7u3-windows-i586, JUnit 4.10, jEdit 4.5, JUnit plugin 0.6.
When I run it from CMD, everythink is OK. You can see cmd command in AllTests.bat.

Submitted sharkodlak - 2012-04-19 - 06:40:54z Assigned kerik-sf
Priority 5 Category None
Status Pending Group None
Resolution Fixed Visibility No

Comments

2012-04-19 - 08:08:10z
jarekczek
Could you tell us, in which file you have the class org.hamcrest.SelfDescribing defined?
2012-04-19 - 08:19:34z
sharkodlak
Class org.hamcrest.SelfDescribing isn't mine. As I found today, it's JUnit's class.
2012-04-19 - 09:11:49z
jarekczek
Indeed. That's part of junit, I see it in junit-4.8.2.
Javadoc does not specify "since":
http://kentbeck.github.com/junit/javadoc/latest/org/hamcrest/SelfDescribing.html

But the junit.jar distributed with JUnitPlugin does not contain it. I'm passing this entry to plugin's author.
2012-04-22 - 14:11:40z
kerik-sf
Hi sharkodlak,
the version of junit bundled in JUnit plugin didn't come with the hamcrest classes.
A new version of JUnit plugin has been submitted, which fixes this problem (and comes with junit 4.10). I'll close the bug when it's available
Thanks for reporting, and the fine, easy to reproduce test case.

Attachments

2012-04-19 - 06:40:58z
sharkodlak
sharkodlak.zip

Test files