Android Studio单元测试

Stella981
• 阅读 913

啄木鸟软件测试培训网:www.3testing.com

今天简单介绍下Android Studio 使用代码进行单元测试

  Android Studio默认是支持JUnit和Android单元测试的,市面上大多主要讲解的是JUnit的单元测试,而没有侧重的讲解Android Studio针对Android的测试,今天主要介绍Android的单元测试。

  Android SDK默认是支持3种单元测试方法:

1、代码测试

2、Monkey 命令行工具

3、monkeyrunner GUI工具

  而其中的代码测试又包含如下:

  (1)AndroidJUnitRunner(包含JUnit4 和 JUnit3)

  (2)UI测试

  (3)UI Automator 测试工具

  今天主要讲解代码测试中的AndroidJUnitRunner的使用:

  AndroidJUnitRunner单元测试基于java Junit框架的,是在JUnit上进行的包装。好了接下来进入主题,直接上代码。

  1、使用Android Stuido创建一个项目Testing,项目目录如下:

  2、src/main  为java源文件目录

     src/test  为JUnit单元测试目录

     src/androidTest  为AndroidJUnitRunner相关单元测试代码

  3、为项目添加AndroidJUnitRunner单元测试支持,在build.gradle添加

  确保测试框架已经被导入(JUnit 框架默认是被导入的)

  4、确保添加之后,同样在build.grade文件指定测试器为AndroidJUnitRunner

  5、确保以上步骤之后,就可以开始针对Android的单元测试了。选中androidTest/java/xxx(自己项目的包名) 目录command+N创建一个测试类LocalTesting

  6、为类添加注解@RunWith(AndroidJUnit.class)

  @RunWith注解用来配置单元测试使用的Runner

  备注:

  Junt4 默认提供BlockJUnit4ClassRunner,如果不填写注解默认会使用BlockJUnit4ClassRunner。AndroidJUnit继承自BlockJUnit4ClassRunner。同时根据不同的需要,还提供了Suit,用来执行多个单元测试用例类。Parameterized继承自Suit,提供参数化;Category同样也继承自Suit...

  7、配置完RunWith后就可以进行单元测试,常用的注解 @BeforeClass @Before @AfterClass  @After@Test

顾翔凡言:

测试工具的确不是银弹,优秀的测算工程师是我们急需的。

啄木鸟软件测试培训中心,主打五门课:

初级:
1,你也想成为软件测试工程师吗~软件测试基础教程
中级:
2,软件测试工程师必须掌握的技能~软件测试设计方法实战。
高级:
3,让你的程序跑得更快~软件性能测试
4,让你找出更多的bug~探索式软件测试
5,让用户迷上你的产品~用户体验式测试

本文分享自微信公众号 - 软件测试培训(iTestTrain)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
Android So动态加载 优雅实现与原理分析
背景:漫品Android客户端集成适配转换功能(基于目标识别(So库35M)和人脸识别库(5M)),导致apk体积50M左右,为优化客户端体验,决定实现So文件动态加载.!(https://oscimg.oschina.net/oscnet/00d1ff90e4b34869664fef59e3ec3fdd20b.png)点击上方“蓝字”关注我
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Wesley13 Wesley13
3年前
Unity横屏
Android下发现Unity里面的Player设置,并不能完全有效,比如打开了自动旋转,启动的时候还是会横屏,修改XML添加以下代码<applicationandroid:icon"@drawable/ic\_launcher"                    android:label"@string/app\_name"
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这