我一直在努力让单元测试与自定义 Android 库一起工作。我遵循了这个 Android 开发人员指南中的第一个建议,并创建了一个依赖于库(通过 Properties->Android->Library->Add...)的 Android 应用程序项目作为与实际测试项目的联络。
一切似乎都运行良好,但后来我在一个测试用例中遇到了我的第一个运行时异常。当我想修复库中的代码时,我发现双击 JUnit 测试面板中的任何项目都会打开一个 .class 文件,而不是相应的 .java 文件。因此,在我爬过包层次结构并手动抓取 .java 文件之前,无法编辑代码。
此外,调试器/测试运行器很乐意忽略库中的任何断点。有没有办法让测试项目意识到库的代码就在工作区中?没有使用断点调试和从堆栈跟踪跳转到代码的能力是极大的生产力障碍。
附录:离开 Eclipse 并开始另一个会话后,现在断点似乎受到尊重。但是,调试透视图将打开 .class 文件而不是相应的 .java 文件。