robolectric是android端的单元测试工具,优势是可以不需要android模拟器、真机环境,只需要JVM环境就可以运行单元测试 用例,节省了代码编译、启动模拟器、安装应用等时间,所以运行速度会快非常多,通过robolectric来编写单元测试用例的话和持续集成整合还是比较 不错的,可以做到有代码变更,快速运行单元测试用例,快速反馈结果。
针对robolectric的使用打算用我们开源的Android性能测试工具Emmagee做个demo,尝试如何来编写测试用例。
那第一篇只要就介绍相关的环境搭建,以及运行第一个测试用例了。
前提: 虽然robolectric运行用例不需要android环境,但是你要测试android应用还是需要搭建相关开发环境的,但是这里就不介绍了,另外下载Emmagee的源代码也需要Git相关知识,这些内容大家自行Google解决。
下载被测Android工程
Github中clone Emmagee的源代码 git clone https://github.com/Netease/Emmagee
Eclipse中导入Emmagee的Android工程
在Emmagee工程的根目录下新建test文件夹(用于放置测试代码)
新建Java测试工程
Eclipse中File -> New -> Java Project
输入EmmageeTest的项目名称,点击Next
出现工程设置页面,右键src,点击“Removefrom build path”
点击下方的“Link additional source”,选择Emmagee工程中当前新建的test文件夹,点击finish
点击新建Java工程设置页面的“projects” Tab,点击“Add”,把Emmagee工程关联进来,点击Finish,创建Java工程结束,通过这些步骤,将测试工程和被测工程的关联
配置Java测试工程
在EmmageeTest工程中新建lib文件夹
下载robolectric-X.X.X-jar-with-dependencies.jar加入到lib文件夹中
右键EmmageeTest -> Build Path -> Configure Build Path
点击Libraries -> Add Library 选择Junit4,这里需要注意,当前只支持Junit4
点击Libraries -> Add Jars 引入当前加入lib文件夹的robolectric的jar包
点击Libraries -> Add External Jars 引入android.jar和map.jar(这两个jar在android安装路径下会有)
jar包引入完成后点击ok,完成配置