Android Studio的单元测试

该篇文章介绍,Android Studio中如何使用单元测试

一、 前提介绍

在平时项目中,我们增加了某个方法,想要测试,必须重新运行Android设备,这将导致,本来只是想测试某个类中方法,但是却要运行整个项目。

本文我们将讲解如何在Android studio中进行单元测试。在Android开发项目中,经常会进行测试操作,而一次又一次的运行模拟器,浪费了大量时间,降低了工作效率降低,虽然最新的Android studio中提供了instance run功能,来提高Android studio的编译速度,但是我们还是需要了解Android studio的单元测试功能,其可以很方便的为我们提供功能性测试,所以如果项目中有用到测试数据的时候,可以先进行单元测试,如果可以正常输出数据了,然后再到UI中执行,这样会提高一些工作效率。

二、什么是单元测试

在讲解如何在Android studio中进行单元测试之前我们先普及一下基本知识,即什么是单元测试,这里我先引用一下百科中对单元测试的描述:

是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。

简单来说单元测试就是将一个软件功能拆分成N个最小的不可拆分的单元功能点,对着单元功能点的测试就是单元测试。

三、单元测试的作用

Android中的测试一般分为:功能测试,ui测试,单元测试等等;
由于app运行需要Android运行环境,而我们的Android的单元测试一般无法提供运行环境,所以一般像功能测试,UI测试等都需要在模拟器或者是真机上进行,但是一些功能性的需求不需要Android环境的功能,如果也使用Android studio重新编译运行,那么耗费的时间就太长了,一般来说一个apk文件编译,安装,运行的时间一两分钟都是普遍的,三四分钟也可能,这样为了测试一个简单的功能,就需要花费这么长的时间重新编译运行,性价比太低。

因此单元测试主要是功能测试,主要用于测试一些功能性的需求;比如网络请求,比如数据存储等等。

四、单元测试能够测试哪些内容呢?

单元测试可以测试那些内容?

这里需要说明的是Android studio的单元测试由于只是模拟Android开发环境,但是其不是真正的Android开发环境,所以不能测试UI功能,不能测试需要硬件支持的功能(比如蓝牙,wifi等),不能测试App跳转等等,那么其可以测试那些内容呢?

  1. 测试一些数据性的功能,比如加载网络数据
  2. 测试SharedPerferences,测试数据库,测试函数等
  3. 工具类的测试,比如验证时间,转化格式,正则验证等等

五、Android studio对单元测试的支持

  1. 新版的Android studio中添加了对单元测试的支持,默认就有;如图所示:

  2. 在androidTest中的我们暂时先不使用,使用test中的,需要使用Android设备才能测试,不是显的很麻烦吗?!

  3. 过程
    先上一张图:

①、新建一个类,写上一个测试方法,这里我新建的是MyTest类,方法是testCase()
②、在testCase()上加@Test注解
③、运行,这里有两种方式可以选择,看到绿色的进度条结束,就是运行已经完成了
1.
2.
④、输出的结果也可看到

Android Studio的单元测试相关推荐

  1. android studio异步单元测试,在Android Studio中可以进行单元测试

    写单元测试类 1.创建单元测试文件夹,即新建一个用于单元测试的包,存放单元测试的类. 2.创建一个类如 ExampleTest,注意要继承自InstrumentationTestCase类. 3.创建 ...

  2. android studio 测试工具,使用Android Studio进行单元测试

    Android Studio已经到了1.2版本,国内的开发者基本也在从Eclipse向Android Studio进行转变,对于Android开发者,以后必将是Android Studio的天下. 昨 ...

  3. android studio如何编译测试,Android Studio 进行单元测试完整教程

    前言 为了这个AndroidStudio的单元测试,从下午搞到晚上才搞明白咋操作. 我学一个新知识总是那么坎坷,经历无数的错误路径,才可能找到正确的路在哪儿. 我的AndroidStudio 我的An ...

  4. android studio单元测试插件,Android Studio单元测试插件下载

    Android Studio单元测试插件是一款可以解决testcompile依赖问题的Android Studio插件,可以帮助用户们在Android Studio进行单元测试,有需要的朋友就来IT猫 ...

  5. android studio资产目录,在Android Studio中设置单元测试的自定义资产目录

    我们对使用仅需要进行单元测试的资产的Android应用程序执行单元测试是不常见的要求. 使用基于Eclipse的SDK这是简单明了的 – 测试项目是一个单独的项目,其自有资产文件夹.使用Android ...

  6. 在Android Studio进行“简单配置”单元测试(Android Junit)

    起因 在Android studio 刚出.本人就想弄单元测试,可惜当时Android studio不知道抽什么风(准确来说,应该是我不会弄而已).无法执行到相应的代码. 后来今天突然自己又抽风.又想 ...

  7. Android单元测试读写文件,Android Studio单元测试:读取数据(输入)文件

    根据android-gradle-plugin版本: 1.版本1.5和更高版本: 只需把json文件到src / test / resources / test.json并引用它 classLoade ...

  8. 关于Android Studio单元测试中“Method d in android.util.Log not mocked.”问题的解决。

    关于Android Studio单元测试中"Method d in android.util.Log not mocked."问题的解决. 点开链接 这就是解决方案.(这主要是由于 ...

  9. Android Studio中进行单元测试和UI测试

    目录 在Android Studio中进行单元测试和UI测试 - 1.概述 在Android Studio中进行单元测试和UI测试 - 2.创建新的Android Studio工程 在Android ...

  10. 如何用android studio测试用例,使用Android studio进行Android单元测试

    单元测试,是只对软件中的最小可测试单元进行检查和验证. 单元测试的必要性 1.作为开发者,必须要对自己的代码负责,要代码逻辑严谨,保证代码的质量.一般来说,单元测试是开发者的责任. 2.单元测试用例必 ...

最新文章

  1. 分布式系统与消息投递
  2. SpringBoot2 整合 AXIS2 服务端和客户端
  3. oracle authentication_services,理解SQLNET.AUTHENTICATION_SERVICES参数
  4. 系统上云服务器地址,可以自己安装系统的云服务器地址
  5. 华为不同vlan单臂路由的配置
  6. 网站时间日期代码html,显示网站运行时间及当前时间的代码
  7. 按键精灵手机助手学习笔记
  8. 双甜点预测的几点总结:
  9. 解决state_enabled=false 不起作用的
  10. 京东商城选择地址信息
  11. 重装系统缺少计算机所需的介质,win10重装系统提示缺少介质,显示缺少介质解决方法...
  12. 谷歌身份验证器 java demo实现 及使用中问题分析
  13. 中国石油大学(北京)-《思想道德修养与法律基础#》第一阶段在线作业
  14. Add Binary 二进制求和
  15. 集合的简单实现(斗地主牌的实现 )
  16. 数字电视电子节目指南(EPG)的实现原理分析
  17. ByteV打造3D海上风电监控平台 ——助力风电能源可持续发展
  18. 球机是枪机和云台机的结合体
  19. 带你揭秘学习编程的7大优势!还有可以提升文化课的成绩?
  20. DRM驱动(一)之显示处理器介绍

热门文章

  1. Linux NAT基本流程与实现技巧
  2. TC中的HTB队列简单创建与过滤
  3. [RK3399][Android7.1] DRM中的Component System
  4. 全国多年平均相对湿度空间分布数据
  5. leetcode 292 NimGame
  6. Faiss从入门到实战精通
  7. spark多字段排序与取topN
  8. ctr预估之特征工程
  9. oracle 11g压缩分区表,ORACLE 10g和11g压缩分区表操作脚本
  10. java 反射如何给属性赋值_关于Java属性反射的异常问题