Android单元测试之二:本地测试

本地测试

  本地测试( Local tests):只在本地机器 JVM 上运行,以最小化执行时间,这种单元测试不依赖于 Android 框架,或者即使有依赖,也很方便使用模拟框架来模拟依赖,以达到隔离 Android 依赖的目的,模拟框架如 google 推荐的 Mockito 。

如何进行本地测试

添加依赖

dependencies {
...
implementation 'com.android.support:appcompat-v7:26.1.0'
testImplementation 'junit:junit:4.12'
androidTestCompile 'com.android.support:support-annotations:26.1.0'
...
}

测试代码存放的位置

app/src
|-- androidTest/java(仪器化单元测试、 UI 测试)
|-- main/java(业务代码)
|-- test/java(本地单元测试)

测试

  可以自己手动在相应目录创建测试类, AS 也提供了一种快捷方式:选择对应的类 -> 将光标停留在类名上 -> 按下 ALT + ENTER -> 在弹出的弹窗中选择 Create Test 。

  选择 Create Test 选项之后,弹出下面框:

  • Testing library: 测试库
  • Class Name: 测试类名
  • Superclass:超类
  • Destination package:指定包
  • Generate:setUp/@Before:会生成一个带 @Before 注解的 setUp() 空方法; tearDown/@After 则会生成一个带 @After 的空方法。
  • Generate test methods for:选择下面框中需要测试的方法。Show inherited methods:是否显示继承的方法。

  我这边只勾选了isJudgeSysmbol(userAnswer:String,correctAnswer:String)方法测试,剩下的选项都没有修改,点击了OK。
  在测试文件夹中就能看到测试类了:

  图片左侧的两个绿色图标在测试类写好之后就能点击运行测试。
  测试通过.如图在 isJudgeSysmbol 中写入参数和正确的返回结果,测试结果通过。

  测试未通过.如图在 isJudgeSysmbol 中写入参数和不正确的返回结果,测试结果未通过。

总结

  本地测试比较适合一些工具类测试,不需要使用任何 Android 系统的东西,只适用于测试公共方法,比如字符处理,数据整理等这些方法。

参考文章

https://www.jianshu.com/p/aa51a3e007e2

Android单元测试之二:本地测试的更多相关文章

  1. Visual Studio 单元测试之二---顺序单元测试

    原文:Visual Studio 单元测试之二---顺序单元测试 此文是上一篇博文:Visual Studio 单元测试之一---普通单元测试的后续篇章.如果读者对Visual Studio的单元测试 ...

  2. ASP.NET Core搭建多层网站架构【3-xUnit单元测试之简单方法测试】

    2020/01/28, ASP.NET Core 3.1, VS2019, xUnit 2.4.0 摘要:基于ASP.NET Core 3.1 WebApi搭建后端多层网站架构[3-xUnit单元测试 ...

  3. 使用VisualStudio进行单元测试之二

    借着工作忙的借口,偷了两天懒,今天继续单元测试之旅.前面说了如何进行一个最简单的单元测试,这次呢就跟大家一起来熟悉一下,在visual studio中如何进行数据驱动的单元测试. 开始之前先来明确一下 ...

  4. Android单元测试之google官例CalculatorTest

    执行测试用例类CalculatorTest     设置genymotion可见: Android Studio界面中,依次单击菜单项 View >Toolbar.即可见改工具按钮. 启动gen ...

  5. 单元测试之NUnit二

    NUnit 分三篇文章介绍,入门者可阅读文章,有基础者直接参考官方文档.初次写博客,望大家指点. 导航: 单元测试之NUnit一 单元测试之NUnit二 单元测试之NUnit三 本文介绍常用的NUni ...

  6. 补习系列(8)-springboot 单元测试之道

    目录 目标 一.About 单元测试 二.About Junit 三.SpringBoot-单元测试 项目依赖 测试样例 四.Mock测试 五.最后 目标 了解 单元测试的背景 了解如何 利用 spr ...

  7. Android自动化测试之Monkeyrunner学习笔记(一)

    Android自动化测试之Monkeyrunner学习笔记(一) 因项目需要,开始研究Android自动化测试方法,对其中的一些工具.方法和框架做了一些简单的整理,其中包括Monkey.Monkeyr ...

  8. [转载]单元测试之道(使用NUnit)

    首先来看下面几个场景你是否熟悉 1.你正在开发一个系统,你不断地编码-编译-调试-编码-编译-调试……终于,你负责的功能模块从上到下全部完成且编译通过!你长出一口气,怀着激动而又忐忑的心情点击界面上的 ...

  9. 单元测试之道(使用NUnit)

    首先来看下面几个场景你是否熟悉 1.你正在开发一个系统,你不断地编码-编译-调试-编码-编译-调试……终于,你负责的功能模块从上到下全部完成且编译通过!你长出一口气,怀着激动而 又忐忑的心情点击界面上 ...

随机推荐

  1. IntelliJ IDEA安装ideaIU-2019.1

  2. 洛谷 P2820 局域网

    题目链接 https://www.luogu.org/problemnew/show/P2820 题目背景 某个局域网内有n(n<=100)台计算机,由于搭建局域网时工作人员的疏忽,现在局域网内 ...

  3. python-常见数据类型及其方法

    常见数据类型及其方法 1.None: 表示空(无任何功能,专门用于提供空值) 2.整形(int) 3.布尔类型(bool) 只有两个结果:True/False: 0/''/[]/()/{}/set() ...

  4. [原创]Cadence Allegro16.6安装

    选择Cancel. lisence managner安装完成,然后安装Product installation Cadence OrCad Allegro SPB 16.6 完整版+和谐文件 链接:h ...

  5. 开发中常用的JS知识点集锦

    索引 1.对象深拷贝 2.网络图片转base64, 在线图片点击下载 3.常用CSS样式记录(超出宽高省略展示/播放icon/按钮背景颜色渐变...) 4.对象深拷贝 5.对象深拷贝 6.对象深拷贝 ...

  6. 手把手教你从ESXI部署到vSphere web Client管理控制

    作为实验环境,一台物理机即可 既然是实验环境,那么首先把这个物理机装成ESXI6.5的宿主机并配置网络系统 第二步骤就是在ESXI上面导入OVF文件,注册一台虚机,作为数据管理中心 第三步骤就是基于这 ...

  7. java 模拟浏览器爬虫

  8. SpringBoot中对于异常处理的提供的五种处理方式

    1.自定义错误页面 SpringBoot 默认的处理异常机制:SpringBoot默认的已经提供了一套处理异常的机制.一旦程序中出现了异常,SpringBoot会向/error的url发送请求.在Sp ...

  9. 有意思的算法题:有10个文件,每个文件大概有10G,求里面最大的100个数;

    算法思路 1: 第一个阶段:对于单个10G文件而言 1. 初始化:先取100个数,构建最小堆: 开始比较: 2. 取一个数 A,与最小堆的根节点进行比较: 3. 如果 A > 最小堆根节点,则替 ...

  10. python 获取mac地址zz

    通过python获取当前mac地址的方法如下:(1)通用方法,借助uuid模块def get_mac_address(): import uuid      node = uuid.getnode() ...