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 # 

任何人都知道如何解决这个问题?

谢谢

  • Android JUnit4testing
  • 为什么我不能将AndroidJUnit4和ActivityTestRule导入我的unit testing类?
  • unit testing加载本地库的Java类
  • junit用gradletesting一个android项目
  • 我怎样才能在Junit3中获得@BeforeClass和@AfterClass等价物?
  • 用gradle测试一个android项目的junit测试
  • 使用JUnit +的unit testing用例(Robolectric或Mockito或Android中的两者)
  • 测试ClassNotFoundexception
  • 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有助于强化模块化和界面分离。