你的位置:首页 > 操作系统

[操作系统]robolectric环境的搭建

  最近在学习测试驱动开发(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");  }}

View Code

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

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


希腊旅游攻略大全希腊旅游攻略去希腊旅游要多少钱希腊旅游报价希腊旅游团报价台山月亮湾漂流全长多少?台山月亮湾一天游攻略? 博罗响水河两日游攻略?博罗龙花洞响水河漂流网上可以预订吗? 阳山第一峰简介?阳山广东第一峰旅游景点介绍? 阳山广东第一峰好玩不?广东第一峰旅游风景区团购价格? 丰顺漂流门票团购优惠吗?梅州丰顺漂流预订? 丰顺漂流门票价格?梅州丰顺漂流旅游攻略? 丰顺漂流团购多少钱?梅州丰顺漂流小孩收费吗? 龙鲸河漂流多长时间一漂?丰顺龙鲸河漂流每天几漂? 亚龙湾森林公园好玩吗?三亚亚龙湾森林公园怎么样? 亚龙湾天堂森林公园门票多少钱?三亚亚龙湾天堂森林公园旅游攻略? 丽江真正典藏美景 世外桃源波多罗 热带天堂森林公园官网?亚龙湾热带天堂森林公园门票预订? 羊卓雍措:天上的仙境 人间的羊卓(2) 尼泊尔美食小吃 越肮脏越好吃 尼泊尔之旅:神在高山上 纳木错:4700米的西藏情人湖 ISL9005IRRZ-T Datasheet ISL9005IRRZ-T Datasheet ISL9011AIRBBZ-T Datasheet ISL9011AIRBBZ-T Datasheet ISL9011AIRBCZ-T Datasheet ISL9011AIRBCZ-T Datasheet 四平出发香港旅游 四平出发香港旅游 四平出发香港旅游 黑龙江出发香港旅游 黑龙江出发香港旅游 黑龙江出发香港旅游 浙江出发到香港旅游 浙江出发到香港旅游 浙江出发到香港旅游