如何搭建robolectric环境

移动开发
如果在Android开发中也能使用测试驱动开发,将会大大加快我们的开发速度。可是我们都知道Android的单元测试实在令人头疼,他的每一个测试都要求的真机或者模拟器上运行,这将会大大拖慢我们的测试速度。

[[153333]]

最近在学习测试驱动开发(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.编写测试代码:   

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

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

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

责任编辑:chenqingxiang 来源: lu_cian的博客
相关推荐

2010-06-04 16:17:02

2021-07-16 09:51:21

kubernetes环境容器

2023-08-03 07:35:10

kubernetes云原生

2011-05-17 14:02:44

Oracle 8高级复制

2010-02-03 14:37:10

Python 开发环境

2009-07-21 14:18:01

Rails运行环境

2016-11-29 10:49:29

Android

2013-10-30 22:41:23

Clouda环境

2011-03-09 13:02:31

LAMP环境搭建

2011-03-14 13:06:58

LAMP搭建

2010-01-08 17:13:46

Visual C++环

2011-08-16 15:41:47

UbuntuPython

2015-06-03 15:12:07

云端TFS微软代码管理环境

2011-08-29 11:32:44

UbuntuiPhone

2010-07-09 09:52:36

C#Linux

2017-10-19 16:12:57

2011-09-01 16:38:59

Ubuntunginxflup

2009-07-07 11:20:12

php jsp

2010-03-17 16:52:57

2011-08-25 15:02:17

Lua环境搭建EditPlus
点赞
收藏

51CTO技术栈公众号