注: 以前分享过这个帖子,现在简书中重新整理了一下
这是以前在团队中写的一个面向Android应用的测试工具,在团队中使用效果不错,现在整理出来在这里分享,希望能够帮到有需要的人。
通常我们使用的单元测试框架都是用来测试一些非UI的逻辑的,如JUnit,CPPUnit。我希望团队中的成员都要养成写单元测试的习惯,一方面单元测试本身就是一份非常好的文档,另一方面单元测试有助于强迫使你的代码耦合更加松散(模块可以独立测试), 在移动应用开发中我遇到一些这样的问题。
你知道移动应用一般都是MVC的结构,Mode层面使用JUnit进行单元测试很方便,但是想测试View就无能为力了,或者说View基本上就代码中直接实现了。在实际开发的过程中往往产品经理或者设计师会要求程序员实现一种特定的效果,那么我们通常的做法就是创建一大堆Demo工程来演示View效果很不方便,而且和项目本身也没有什么实际的联系回头还是要拷贝代码到实际项目中。所以为了更加方便测试项目中的一些界面效果,我便实现了“AndroidUITestRunner”这么一个工具。你可以把每一个布局或者界面效果写成测试用例和项目一起构建,然后安装在你的设备上点击运行你的测试用例,让设计师或产品经理看看你的UI实现是否OK,最重要的是团队成员可以很快达到并行工作状态,一部分人写传统的测试用例,另外一部分人可以立刻实现设计师要求UI用例,一旦UI测试用例和传统的测试用例达到预期,接下来只需要实现Controller部分把Model和View集成进来就好了。我自己在开发xbrowser 的时候也是使用这个框架,很多需要验证想法的逻辑都放在了测试用例里面,事实证明无论是开发效率还是代码稳定性都有很大提升。