写代码时,常用到Java中的枚举类型,枚举可以对常量进行限制,有效避免代码出错。但是在Android中,枚举类型的性能较差。
可以利用Android的IntDef、StringDef注解(Annotation),用int、String实现类似枚举的效果。
写代码时,常用到Java中的枚举类型,枚举可以对常量进行限制,有效避免代码出错。但是在Android中,枚举类型的性能较差。
可以利用Android的IntDef、StringDef注解(Annotation),用int、String实现类似枚举的效果。
前面对单元测试进行了一些比较全的入门学习,都是通过Android Studio直接编译并自动运行测试的。
因为实际需要,希望在Android Studio中配置Robotium进行黑盒测试,之前知道原理,但一直没配置成功,网上也没找到相关的资料,所以自己进行了研究,终于成功了。在Android Studio中进行黑盒测试,需要用命令行编译、安装和运行TestRunner。
Gradle是一个非常好用的编译工具,特别是继承了maven的依赖项管理功能,需要的Library不需要像传统IDE一样手动下载复制到项目中,只需要简单的写一行gradle脚本,就能自动下载下来并编译。
但是有时候会出现各种不明情况的报错,最常见的一种原因就是依赖项版本冲突。
在较早版本的Android系统中,Instrumentation必须在系统权限下,才能操作整个手机;否则只能操作自身或与其签名一致的APP。而由于Instrumentation通常不能获取系统权限(需要系统签名,而系统签名文件在编译系统时已经被编译进去,不能获取到),于是基于Instrumentation的很多框架只能进行单个APP的测试,不能跨应用测试。
Robotium是一个很常用的自动化测试框架,既可以进行白盒测试,也可以进行黑盒测试。Robotium实质上是建立在Instrumentation上的一系列工具方法。
前面介绍的JUnit3测试和Android基本测试,都基于Instrumentation Test Runner,之后谷歌又推出了Android JUnit Test Runner。根据官方的资料,前者只支持JUnit3,而后者还可以支持JUnit4。
http://developer.android.com/intl/zh-cn/tools/testing-support-library/index.html
前面介绍了JUnit测试,JUnit测试只能测试纯Java代码,更多时候我们要测试和Android相关的代码,这时就要用到Android Instrumentation Test。
这里我们设置Test Artifact为Android Instrumentation Test,进行JUnit Test,测试代码会通过Android Test Runner在Android设备上运行。