Android单元测试

隐身守侯 提交于 2020-01-24 01:14:49

单元测试

说到测试,主要分为,冒烟测试,集成测试,单元测试。单元测试是保证基础模块、单元工作正常的一种保证手段。在互联网短平快的敏捷开发的开发模式中,常常因为业务繁多,而忽视了单元测试,造成积重难返的局面。编程好比造房子,砖块好比每一个单元,只有保证每一块砖的坚实耐用,才能保证整个房子的坚固可靠。而在业务繁多的互联网公司,尤其是2C企业的业务部门,往往只是做一个活动,能跑起来就上线,几天后就下线,对性能,可靠性不是那么考量。但是,个人觉得SDK和支撑上层业务的基础能力是一定需要单元测试的。

单元测试理解

单元测试是保障单元可用性的途径,主要通过验证单元的逻辑,需要注意以下几点:

  1. 多条分支的逻辑必须覆盖
  2. 预期结果与实际结果必须一致才算测试通过

Java的单元测试

java的单元测试,主要通过jUnit框架来实现,通过注解来标注每个测试用例。通过断言来判断是否测试通过。
主要的注解有:

  1. @Before
  2. @After
  3. @Test
  4. @BeforeClass
  5. @AfterClass

Android客户端的单元测试

Android开发是Java开发衍生,测试也大致相同,有多种测试框架。这里推荐UI单元测试robolectric
配置如下:

  1. build.gradle中添加配置
    	android {
    	  testOptions {
    	    unitTests {
    	      includeAndroidResources = true
    	    }
    	  }
    	}
    	
    	dependencies {
    	  testImplementation 'org.robolectric:robolectric:4.3'
    	}
    
    
  2. gradle.properties添加以下配置
    android.enableUnitTestBinaryResources=true
    
  3. 单元测试demo
    	@RunWith(RobolectricTestRunner.class)
    	public class MyActivityTest {
    	
    	  @Test
    	  public void clickingButton_shouldChangeMessage() {
    	    MyActivity activity = Robolectric.setupActivity(MyActivity.class);
    	
    	    activity.button.performClick();
    	
    	    assertThat(activity.message.getText()).isEqualTo("Robolectric Rocks!");
    	  }
    	}
    
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!