Java Android开发与TDD

Java Android开发与TDD,java,android,tdd,Java,Android,Tdd,有人知道一个关于如何使用Android开发进行TDD(测试驱动开发)的好指南吗?我对您在创建活动测试之前/期间应该具备的心态感兴趣 我之前只有一项任务必须通过TDD(保龄球比赛)完成。它给了我深刻的见解,但安卓系统的开发与我所做的相去甚远 我开始做一个新的SearchActivity,在这里,我将为名为ExpandableProfileListAdapterTest的自定义适配器类使用AbstractBaseExpandedListAdapter类 例如,现在应该如何测试getGroupView

有人知道一个关于如何使用Android开发进行TDD(测试驱动开发)的好指南吗?我对您在创建活动测试之前/期间应该具备的心态感兴趣

我之前只有一项任务必须通过TDD(保龄球比赛)完成。它给了我深刻的见解,但安卓系统的开发与我所做的相去甚远

我开始做一个新的SearchActivity,在这里,我将为名为ExpandableProfileListAdapterTest的自定义适配器类使用AbstractBaseExpandedListAdapter类


例如,现在应该如何测试getGroupView和getChildView方法?

Android官方文档对于生成Android代码测试非常有用:

Android的测试驱动开发与任何其他类型的开发基本相同,您首先编写测试,然后生成源代码,但它有一些区别,因为一些要测试的系统必须进行模拟,以防止需要启动模拟器来测试应用程序中基于交互的部分


Android中的测试由一个测试“金字塔”组成,包括单元测试、集成测试和UI测试。它们是分开的,因为即使您可以编写一个UI方法来简单地在屏幕上放置一个按钮,这个按钮足够简单,可以进行单元测试,但如果您想断言按钮被放置,因为它必须在Android仿真器上运行(因此UI测试),则无法成功地进行单元测试。要成功地在单元测试和集成测试之间建立一条清晰的界线,请确保始终重构可测试功能代码,并将其移动到它们自己的方法中,而不是将其包含在其他基于UI的方法中(例如应用程序的onCreate)


幸运的是,有很多解决方案可以测试Android的所有这些部分。这包含指向Mockito、Robolectric和Espresso等测试框架的链接,用于不同级别的Android测试。

感谢您的回答。。。我将研究你提到的这篇文章……:)