Eclipse Android项目中无法运行JUnit 4testing用例
我是Java新手,正在尝试在我正在编写的类上运行unit testing。 Eclipse(3.5)为我创build了unit testing类,并将Junit4添加到我的类path中。
我的课:
public class DistanceUtil { public static double metersToMiles( double meters ) { return 0; } public static double metersToKilometers( double meters ) { return 0; } }
我的unit testing:
public class DistanceUtilTest { @Test public final void testMetersToMiles() { fail("Not yet implemented"); // TODO } @Test public final void testMetersToKilometers() { fail("Not yet implemented"); // TODO } }
当我右键单击unit testing,并select运行Junittesting我得到以下内容:
# # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (classFileParser.cpp:3075), pid=5564, tid=4940 # Error: ShouldNotReachHere() # # JRE version: 6.0_17-b04 # Java VM: Java HotSpot(TM) Client VM (14.3-b01 mixed mode windows-x86 ) # An error report file with more information is saved as: # C:\Users\Giles Roadnight\workspaceAndroid\Cycloid\hs_err_pid5564.log # # If you would like to submit a bug report, please visit: # http://java.sun.com/webapps/bugreport/crash.jsp #
任何人都知道如何解决这个问题?
谢谢
search了Google的答案之后,看起来这可能与Android开发工具有关。
下面是从这个评论线程采取的步骤:
- 右键单击项目 – >运行 – >运行configuration
- select你的Junit项目
- 转到类path选项卡
- 删除Android框架条目
- select引导条目
- 点击高级
- select添加库
- 好
- select“JRE系统库”
- 下一个
- 完
- 您还需要添加JUnit库,以便按照步骤5到11,select“Junit”而不是“JRE System Library”
- 您现在可以将您的项目作为Junit运行。
由于Alex Spurling的说明不再适用于Eclipse Juno和最新的Android SDK,因此可能需要另外一个select:
- 创build一个独立的普通Java库项目,其中包含所有不依赖于Android平台的代码。
- 编写JUnittesting正常。
- 将该项目作为库引用包含在Android项目中。
- 使用SLF4J或其他高级库进行logging。
在小型项目上有点麻烦,但OTOH有助于强化模块化和界面分离。