一般在开发 Android app 的时分常常会写一些小函数并验证它是否运转正确,一般做法我们是把这个函数放到某个界面(Activity)执行一下,运转整个工程跑一下 app,通过打 log 或 debug 的办法来验证。浪费了大量时刻,降低了工作效率,虽然最新的 android studio 中供给了 instant run 功用,来进步 android studio 的编译速度,可是我们仍是需求了解 android studio 的单元测验功用,其能够很便利的为我们供给功用性测验,所以假如项目中有用到测验数据的时分,能够先进行单元测验,假如能够正常输出数据了,然后再到 UI 中执行,这样会进步一些工作效率。

什么是单元测验:

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

配置

在 Android Studio 中进行单元测验并不需求什么插件或许过多的配置,Android Studio 本身就集成了测验环境,无论是单纯的 java 代码单元测验仍是依靠 Android SDK 的 Android 代码单元测验,都能得心应手。

首先在你的 gradle 中加入 Junit 的依靠,留意这儿的依靠办法是测验期间的依靠(testCompile):

Android Studio 中的单元测试

新版的 android studio 中添加了对单元测验的支撑;如图所示:

Android Studio 中的单元测试

  • androidTest.java.[包名]
  • main.java.[包名]
  • test.java.[包名]

mian 目录下为项目代码,androidTest 目录下为编写 Android 测验用例运用,test 目录下为编写Java 测验用例运用。

单元测验能够测验那些内容?

这儿需求阐明的是 android studio 的单元测验由于仅仅模拟 android 开发环境,可是其不是真正的 android 开发环境,所以不能测验 UI 功用,不能测验需求硬件支撑的功用(比方蓝牙,wifi等),不能测验 App 跳转等等,那么其能够测验那些内容呢?

  • 测验一些数据性的功用,比方加载网络数据
  • 测验SharedPerferences,测验数据库,测验函数等
  • 工具类的测验,比方验证时刻,转化格局,正则验证等等

编写Android测验用例

我在 androidTest.java.[包名]文件夹中添加了一个类 testJson,并写了一个办法,完整代码如下:

Android Studio 中的单元测试

留意事项:

  • 在 android studio 中,一切的测验代码必须以 test- 作为前缀,不然 android studio 无法辨认它为测验代码;

  • 测验用例类需求运用注解:@MediumTest 和 @RunWith(AndroidJUnit4.class)

  • 测验函数需求为 public

  • 测验函数需求添加 @Test 注解

运转测验办法

ctr + shift + R 不用启动 App,即可检验代码的正确与否。

Android Studio 中的单元测试

Android Studio 中的单元测试

——乐于分享,共同进步,欢迎留言评论
——Treat Warnings As Errors
——Any comments greatly appreciated
——Talking is cheap, show me the code
——CSDN:blog.csdn.net/u011489043
——GitHub:github.com/selfconzrr