我一直试图弄清楚如何在我的 Android 应用程序中包含标准的 JUnit 3.x(甚至 JUnit4.x)测试。我想在 Android 单元测试工具上使用 JUnit,因为它更快并且直接在我的 IDE 中运行(Android JUnit 工具需要部署到设备或模拟器 1st)。我还想使用 JUnit 来施加适当的 SoC(关注点分离)。最初我设置了多个模块来实现这一点,主 Android 模块和一个核心库模块,其中主模块将具有所有 Android 细节,而核心模块将具有普通旧 Java 对象 (POJO) 和 JUnit 优点。
最近我开始在一个 Android 项目上工作,在那里我开发了一个库来处理一些低级别的 android 特定工作并将其作为高级操作公开给主模块。问题是我需要在库模块中使用 JUnit,但我不想打破另一个模块来这样做。在一个理想的世界里,我会:
主模块:包括所有高级 UI 和控制器逻辑,用于在活动、片段等之间导航。依赖于 MyLib。
MyLib:包含封装低级逻辑的高级接口,以处理诸如 android 特定网络、持久性、加速度计读取等事情。许多 POJO 涉及一些低级逻辑。还包括一个示例或演示应用程序,可直接使用这些界面。包括在 POJO 上运行 JUnit 的能力。
我是在做白日梦,还是有办法使用当前的开发工具智能地设置它?我主要使用 IntelliJ Idea,但也会对 Eclipse 特定的解决方案开放。