Android 配置 junit 单元测试
一般单元测试用在后台的 API,但是如果不巧,要做客户端的 sdk,好像后台的这个单元测试的流程,也是可以用的,下面来看看怎么配置 android sdk 的单元测试
build.gradle 配置
dependencies {// .....testImplementation 'junit:junit:4.12'testImplementation "androidx.test:core:1.1.1"testImplementation "androidx.test.ext:junit:1.1.1"testImplementation "org.robolectric:robolectric:4.2.1"testImplementation 'com.android.support.test:runner:0.5'testImplementation 'com.android.support.test:rules:0.5'testImplementation 'org.mockito:mockito-core:2.19.0'}
测试用例类 ExampleUnitTest.java
测试用例
@Config(sdk = 28)
@RunWith(AndroidJUnit4.class) // 用于获取上下文的注解
public class ExampleUnitTest {@Testpublic void testCase() {// 获取上下文,用于获取资源Context context = ApplicationProvider.getApplicationContext();// mock 异步事件View.OnClickListener mqttActionCallBack = mock(View.OnClickListener.class);// 评判结果assertEquals(4, 2 + 2);}
}
测试用例运行效果
附加说明
细心的你,应该发现了为什么要增加 @Config(sdk = XX) 这个注解呢,这里是为了修复下面这个错误
ExampleUnitTest.testCase: Package targetSdkVersion=29 > maxSdkVersion=28
调整 build.gradle 中 targetSdkVersion 这个参数也是可以的,另外一种改法就是使用 @Config(sdk = XX) 这个注解,来限定测试用例的依赖的 sdk 版本
那有人又会问了 @RunWith(AndroidJUnit4.class) 又是干嘛的,好吧我们先看看没有这个注解跑出来是什么效果
java.lang.IllegalStateException: No instrumentation registered! Must run under a registering instrumentation.at androidx.test.platform.app.InstrumentationRegistry.getInstrumentation(InstrumentationRegistry.java:45)at androidx.test.core.app.ApplicationProvider.getApplicationContext(ApplicationProvider.java:41)at com.qcloud.iot_sdk_java.ExampleUnitTest.testCase(ExampleUnitTest.java:29)
测试用例的 29 行对应的是获取上下文
Context context = ApplicationProvider.getApplicationContext();
现在大家应该明白了吧,这样可以限定是 android 的单元测试,后续就可以获取 android 层面经常需要使用的上下文
Android 配置 junit 单元测试相关推荐
- Android中的Junit单元测试
Android中的Junit单元测试 在实际开发中,经常要对已经实现的功能进行单元测试,以保证当前单元没问题,尽可能的减少已有功能的bug 和Java中的开发一样,Android中对单元测试也可以采用 ...
- Android之Junit测试类
今天跟着视频学习了Junit测试类,趁热打铁.顺便把学的东西整理下来,再就是为了以后好回顾 1.Junit单元测试介绍: 在实际开发中,经常要对已经实现的功能进行单元测试,以保证当前单元没问题,尽可能 ...
- 行意天下正文 Android Day02-Android中单元测试(junit测试)monkey测试
Android中junit测试有2种实现方式 第1种:一般Android工程的实现方式 1.在清单文件中添加2项内容 首先在AndroidManifest.xml中加入下面红色代码: <mani ...
- 【android】AS中使用Junit单元测试和Android JUnit 单元测试
AS中使用Junit单元测试和Android JUnit 单元测试 在AndroidStudio中使用单元测试 1. 前言 在Android开发中,如果对一个简单的功能,每次修改代码都重新运行到设备中 ...
- idea将junit设置模板_IDEA配置JUnit进行单元测试
前提条件 安装JDK,并配置好环境变量 工程已解决JUnit依赖关系(pom.xml) IDEA中JUnit配置 IDEA自带一个JUnit插件,打开Settings窗口搜索junit,如图: 图 1 ...
- 【单元测试】Junit 4(二)--eclipse配置Junit+Junit基础注解
1.0 前言 前面我们介绍了白盒测试方法,后面我们来介绍一下Junit 4,使用的是eclipse(用IDEA的小伙伴可以撤了) 1.1 配置Junit 4 1.1.1 安装包 我们需要三个jar ...
- 在Android中进行单元测试遇到的问题
问题1.Cannot connect to VM socket closed 在使用JUnit进行测试的时候,遇到这个问题.网上的解释是:使用Eclipse对Java代码进行调试,无论是远程JVM还 ...
- android真机单元测试,Android 单元测试入门
8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? Unit Test Start 简单了解一下,如何依赖 Junit 进行 Java 代码的单元测试.依旧如何借助 Rob ...
- spring junit单元测试
项目是有很多个功能块组成的,我们开发的时候,当我们开发出来一个功能,想要测试这个功能是否正确,不可能等到前端和后端全部写好了再进行测试,这样太浪费时间,有没有什么方法能直接测试后台的功能写的是否正确( ...
- 七、Web服务器——Junit单元测试 反射 注解学习笔记
今日内容 1. Junit单元测试 2. 反射 3. 注解 Junit单元测试: * 测试分类:1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值.2. 白盒测试:需要写代码的.关注程 ...
最新文章
- 数据结构-浙大 MOOC 笔记一 基本概念
- Redis 哨兵架构基础
- ubuntu snmp Error: unknown payload OID
- modbus 台达a2_驱控智造未来 台达重磅发布多款工业自动化新品
- .png图片 阴影效果(fliter:drop-shadow属性)案例
- php 正则xml文件,php 读取xml的方法三---用php正则表达式来记取数据
- APACHE服务器出现No input file specified.解决方案
- 打开文件、网页、文件夹等
- 用UIWebView加载本地图片和gif图
- word表格完美复制到excel之浅析
- 简述Android模拟机和真机的区别,详解android模拟器emulator
- android alert
- czl蒻蒟的OI之路2
- 关于服务器上安装新版Python报错的问题
- 网站压力测试工具was
- Pandas中resample方法详解
- 初识Quartz之Trigger组件
- ftp服务器上传文件不行,ftp服务器上传文件不行
- js中ajax刷新页面,django+js+ajax实现刷新页面的方法
- 蓝筹股有哪些股票 蓝筹股有哪些股票2018
热门文章
- 【Python办公自动化】根据excel中数据批量生成word文档(适用劳动合同、质检报告、通知书等应用场景)
- PDF文件批量添加目录详细教程
- 博图os更新_博途V14的新功能(通过U盘给第二代的精智及精简屏传输组态)
- 74LS系列芯片简记——10-19
- 华为开发者学堂 | 囤课畅学 码住未来
- CRM客户关系管理系统项目总结
- 细丝菲涅尔衍射MATLAB,工程光学系列之六: 菲涅尔衍射 matlab仿真
- 全国(全球)快递查询物流查询API,物流信息追踪接口
- 最全经典 | 机器视觉基础知识汇总
- SLM4054独立线性锂电池充电器的芯片的学习