UISpec4J测试与其他JUnit测试用例冲突
我有一堆JUnit测试用例 最近,为了在我的应用程序中测试GUI,我使用了UISpec4JAPI 当我单独运行GUI测试时,不会有任何问题 但是,当我使用之前的JUnit测试用例将GUI测试添加到测试套件中时,它显示了很多错误 其中一些是NoClassDefFoundError、UnsatisfiedLinkError等等 为什么会发生这种情况 下面是我的堆栈跟踪UISpec4J测试与其他JUnit测试用例冲突,junit,junit4,runtime-error,uispec4j,Junit,Junit4,Runtime Error,Uispec4j,我有一堆JUnit测试用例 最近,为了在我的应用程序中测试GUI,我使用了UISpec4JAPI 当我单独运行GUI测试时,不会有任何问题 但是,当我使用之前的JUnit测试用例将GUI测试添加到测试套件中时,它显示了很多错误 其中一些是NoClassDefFoundError、UnsatisfiedLinkError等等 为什么会发生这种情况 下面是我的堆栈跟踪 java.lang.UnsatisfiedLinkError: sun.awt.motif.MToolkit.init(Ljava/
java.lang.UnsatisfiedLinkError: sun.awt.motif.MToolkit.init(Ljava/lang/String;)V
at sun.awt.motif.MToolkit.init(Native Method)
at sun.awt.motif.MToolkit.<init>(MToolkit.java:132)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:3)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at java.awt.Toolkit$2.run(Toolkit.java:859)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:826)
at javax.swing.ImageIcon.<init>(ImageIcon.java:162)
at javax.swing.ImageIcon.<init>(ImageIcon.java:181)
at com.Db.<clinit>(Db.java:95)
你能把stacktrace贴出来吗?在没有任何信息的情况下调试您的问题是非常困难的,我已经找到了解决方案。由于我使用EclEmma,我可以通过独立运行两个测试来合并覆盖率会话,然后合并它们的结果。但实际上不应该有冲突,无论如何,在某个地方有一个错误。
java.lang.NoClassDefFoundError: Could not initialize class com.Db
at com.Db.junit.control.DbActionControllerTest.setUp(DbActionControllerTest.java:32)
at junit.framework.TestCase.runBare(TestCase.java:128)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:120)
at junit.framework.TestSuite.runTest(TestSuite.java:230)
at junit.framework.TestSuite.run(TestSuite.java:225)
at junit.framework.TestSuite.runTest(TestSuite.java:230)
at junit.framework.TestSuite.run(TestSuite.java:225)
at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
at org.junit.runners.Suite.runChild(Suite.java:128)
at org.junit.runners.Suite.runChild(Suite.java:24)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)