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开发工具有关。

下面是从这个评论线程采取的步骤:

  1. 右键单击项目 – >运行 – >运行configuration
  2. select你的Junit项目
  3. 转到类path选项卡
  4. 删除Android框架条目
  5. select引导条目
  6. 点击高级
  7. select添加库
  8. select“JRE系统库”
  9. 下一个
  10. 您还需要添加JUnit库,以便按照步骤5到11,select“Junit”而不是“JRE System Library”
  11. 您现在可以将您的项目作为Junit运行。

由于Alex Spurling的说明不再适用于Eclipse Juno和最新的Android SDK,因此可能需要另外一个select:

  1. 创build一个独立的普通Java库项目,其中包含所有不依赖于Android平台的代码。
  2. 编写JUnittesting正常。
  3. 将该项目作为库引用包含在Android项目中。
  4. 使用SLF4J或其他高级库进行logging。

在小型项目上有点麻烦,但OTOH有助于强化模块化和界面分离。