Android单元测试
来源:互联网 发布:蜘蛛侠淘宝客 编辑:程序博客网 时间:2024/06/05 04:24
单元测试是针对程序模块来进行正确性检验的测试工作.程序单元是应用的最小可测试部件.单元测试有助于及早发现修改和重构导致的bug,从而确保基础库的稳定和可用.
Java单元测试框架JUnit
使用Android studio创建应用工程的时候,在src/test下默认生成单元测试目录,同时给出JUnit的简单例子.
public class ExampleUnitTest { @Test public void addition_isCorrect() throws Exception { assertEquals(4, 2 + 2); }}使用规则:
单元测试类的命名一般以Test结尾.
单元测试方法需要使用@Test注解标记.
验证单元测试的结果一般使用Assert类中的方法:assertEquals,assertTrue,assertNotEquals,fail等.
在JUnit中,除了@Test,常用的注解还有:
@Before:表示在每个被@Test标记的测试方法调用之前,都要先调用被@标记的方法.
@After:表示在每个被@Test标记的测试方法之后,都要接着调用被After标记的方法.
@BeforeClass:在执行一个测试类的所有测试方法之前,会调用一次这个测试类中被@BeforeClass标志的方法.
@AfterClass:在执行一个测试类的所有测试方法之后,会调用一次这个测试类中被@AfterClass标志的方法.
@Ignore:测试类中某些测试方法可能暂时处于不可测试阶段,那么为了保证不影响整个测试类的正常运行,可以使 用@Ignore标记这些测试方法.
Android单元测试框架Robolectric3.0
Robolectric3.0的设计思想是通过实现一套JVM能够运行的Android代码,从而实现脱离Android环境进行测试.
Robolectric3.0集成:Robolectric3.0依赖于JUnit
testCompile 'junit:junit:4.12' testCompile 'org.robolectric:robolectric:3.0'
Robolectric可以方便地对Android中的Activity,fragment,service,broadcastReceiver等组件进行单元测试,还可以测试Activity的生命周期,然后判断控件的取值是否正确.
@RunWith(RobolectricGradleTestRunner.class)@Config(constants = BuildConfig.class)public class RoboTest { @Test public void titleIsCorrect() throws Exception { Activity activity = Robolectric.setupActivity(MainActivity.class); assertTrue(activity.getTitle().toString().equals("myTest")); } @Test public void testLifecycle() throws Exception { ActivityController<MainActivity> activityController = Robolectric.buildActivity(MainActivity.class).create().start(); Activity activity = activityController.get(); TextView textView = activity.findViewById(R.id.tv); assertEquals("onCreate",textView.getText().toString() ); activityController.resume(); assertEquals("onResume",textView.getText().toString()); }}
Robolectric不仅支持对UI组件的测试,同时还支持向日志输出,网络请求,数据库等方面的测试.
- android 单元测试
- Android单元测试
- Android单元测试
- android单元测试
- Android单元测试
- Android单元测试
- android单元测试
- android单元测试
- Android单元测试
- Android单元测试
- android 单元测试
- android 单元测试
- Android--单元测试
- android单元测试
- Android单元测试
- Android单元测试
- Android单元测试
- ANDROID 单元测试
- php记录所有post,get,cookie以及IP地址,来路,访问网址
- cs:app学习笔记(1):show-bytes
- Tomcat:Request header is too large
- 使用Glide加载GIF图时遇上的问题
- Android中ANR产生的原因以及定位分析和检测
- Android单元测试
- struts2中文件上传
- python学习之无限级分类
- view Paint
- while循环结构(1+3+5+...+15的和)
- Android UI注解框架 ButterKnife源码及原理分析
- redis 限制并发锁访问
- LeetCode 198. House Robber【DP+滚动数组】
- git版本回退