最近在学习测试驱动开发(Test-Driven Development),测试驱动开始是极限编程的一种方式,提倡在真正编写代码之前先根据需求编写测试代码(当然这个测试代码是不可能通过的),然后根据测试代码来编写正式的代码,编写的正是代码要让一步步的让测试代码通过。如果在Android开发中也能使用测试驱动开发,将会大大加快我们的开发速度。可是我们都知道Android的单元测试实在令人头疼,他的每一个测试都要求的真机或者模拟器上运行,这将会大大拖慢我们的测试速度。

  robolectric是一个Android的单元测试框架,这个框架的迷人在于,他能让你的Android代码运行在jvm(不是Android的虚拟机)上,这就意味着你在做单元测试的时候,不必要将你的apk安装到机器上运行了,这将会大大较少我们的测试时间。(Wouldn't it be nice to run your Android tests directly from inside your IDE?)

  robolectric官网

  在搭建robolectric个过程中我遇到了很多困难,并且网上的解决方案也比较上,所以不得不自己摸索,今天在这里记录一下robolectric环境的搭建

  1.开发环境android-studio 

  2.所需jar包,下载地址

  3.导入jar包之后,需要修改一下项目的配置:在Android studio的左下角有一个build variants,点开之后将test artifact改为Unit tests

    

  4.编写测试代码:

    

@RunWith(RobolectricGradleTestRunner.class)
@Config(constants = BuildConfig.class)
public class MyTest {
@Test
public void testTest() {
MainActivity mainActivity = Robolectric.setupActivity(MainActivity.class);
TextView textView = (TextView) mainActivity.findViewById(R.id.text);
assertEquals(textView.getText(), "Hello World!1");
}
}

  这里注意测试类上面的注解

  5.运行这个单元测试方法,第一运行的时候可能会下载一些东西,等他下载完成之后,就会想平时的junit一样执行

最新文章

  1. ASP.NET Core 1.0 开发记录
  2. 云存储的那些事(2)——数据分布算法CRUSH
  3. [bzoj4326][NOIP2015]运输计划
  4. 未来 USB Type-C 将可靠软体判断线材是否符合规定
  5. css单位rem---移动端至宝
  6. java线程之停止线程
  7. python小工具:用python操作HP的Quality Center (二)----- 用异步方式提高速度
  8. dubbo搭建例子
  9. [转]Build An Image Manager With NativeScript, Node.js, And The Minio Object Storage Cloud
  10. 第一册:lesson forty
  11. CentOS7安装wps
  12. JEECG 上传插件升级-代码生成器
  13. 关于Unity中3D声音的使用
  14. SSL编程(1) 概述
  15. Git使用教程(一)---本地git管理
  16. 初识CSS样式表
  17. ThinkPHP自定义错误页面、成功页面及异常页面
  18. java 上传文件大小转换为 GB/MB/KB/B
  19. 客户端SDK测试思路
  20. JAVA实现计算三角形等平面图形的夹角问题

热门文章

  1. BZOJ 1079: [SCOI2008]着色方案 记忆化搜索
  2. URAL 1777 D - Anindilyakwa 暴力
  3. C#.net 之货币转换
  4. 杭电 2034 人见人爱A-B
  5. 第八讲:HTML5中canvas实现小球击打小方块游戏
  6. Swift 3.0 的 open,public,internal,fileprivate,private 关键字
  7. android 自定义按钮实现 home键 和返回键
  8. jsonp跨域原理解析
  9. C++的64位整数
  10. python(5)-正则表达式