Java 在没有模拟器的Android应用程序中对非Android特定代码进行单元测试

Java 在没有模拟器的Android应用程序中对非Android特定代码进行单元测试,java,android,unit-testing,Java,Android,Unit Testing,这里是Android新手,使用ADT 我的应用程序中有几个“纯”Java的数字运算类,它们不依赖于Android SDK中的任何东西。理想情况下,我希望在不启动(有点慢)仿真器的情况下测试它们。这可能吗?如果可能,如何实现 从我到目前为止收集的信息来看,Dalvik编译和生成的类与“普通”JVM中预期的不同,这排除了常规JUnit测试()。在Android SDK中使用JUnit启动仿真器。这就是我的Google fu让我失望的地方,因为每个人都在忙于测试UI 这可能吗?如果可能,如何实现 选项

这里是Android新手,使用ADT

我的应用程序中有几个“纯”Java的数字运算类,它们不依赖于Android SDK中的任何东西。理想情况下,我希望在不启动(有点慢)仿真器的情况下测试它们。这可能吗?如果可能,如何实现

从我到目前为止收集的信息来看,Dalvik编译和生成的类与“普通”JVM中预期的不同,这排除了常规JUnit测试()。在Android SDK中使用JUnit启动仿真器。这就是我的Google fu让我失望的地方,因为每个人都在忙于测试UI

这可能吗?如果可能,如何实现

选项#1:跟随Mike B的评论,将代码移动到一个单独的JAR项目中,并进行自己的单元测试


选项2:用于在JVM上为这些类运行专用测试。虽然Robolectric主要用于在JVM上测试Android-y代码,我看不出你为什么不能在你的场景中也使用它。

我可能会将纯Java的东西适当地转移到不同的非Android项目中,让它们在那里有自己的JUnit测试。@MikeB:我有点假设这将是一个问题,因为编译不同。现在我明白了,这可能不是一个问题。