当前位置: 首页 > news >正文

androidTest 与 Test详解

😄作者简介: 小曾同学.com,一个致力于测试开发的博主⛽️,主要职责:测试开发、CI/CD
如果文章知识点有错误的地方,还请大家指正,让我们一起学习,一起进步。
😊 座右铭:不想当开发的测试,不是一个好测试✌️。
如果感觉博主的文章还不错的话,还请点赞、收藏哦!👍

文章目录

  • 说在前面
  • 言归正传

说在前面

在本文你将了解到 Android 项目中 androidTest 和 test 的区别。

言归正传

在创建 Android 工程时,Android studio 会自动帮我们生成三个文件夹,分别是 androidTest、main、test[unitTest]。

在这里插入图片描述
androidTest:是用来编写Android Test测试用例的,可以对项目进行一些自动化测试。

main:是用来写 app 的逻辑代码和视图的。

test[unitTest]:是用来编写Unit Test测试用例的,是对项目进行自动化测试的另一种方式。

从上述描述中了解到 androidTest 和 test 都是用来是测试用例的 只是一个是 android test 一个是 unit test,unit test我们经常听到是单元测试,那么 android test又是什么呢?

首先需要了解的是我们构建出的 apk,测试代码并没有包含在内。测试代码能访问 app 代码,但是apk不能访问测试代码,而且测试不会被包含在 apk 包中。

在创建 Android 项目中,会在 build.gradle文件中看下一下内容,自动引入了 test的测试框架

在这里插入图片描述

Unit Test又称为local test代码,基于JVM,

对比下androidTest 和 test

androidTesttest
本地测试代码Instrumented Tests 依赖Android 库
依赖本地JVM依赖Android 环境
效率快效率慢

先来运行 test 文件夹下的内容,点击代码左侧的绿色运行UI,选择对应的文件 直接运行,我们会在控制台看到运行结果:Tests passed:1,一个测试用例通过。

在这里插入图片描述

或者是在命令行窗口直接运行命令:gradle :app:testDebugUnitTest 来执行测试用例。

单元测试运行完之后在build文件夹下会生成一个测试报告:build—>reports—>tests—>index.html

在这里插入图片描述

选择浏览器方式打开对应的html文件,会看到详细的测试结果

在这里插入图片描述

androidTest

运行方式和 test 运行方式一致,我们直接查看运行结果,会看到我们运行的设备也在其中,

在这里插入图片描述

运行结束之后也同样有一个测试报告,build—>reports—>tests—>index.html,如果没有真机设备或者模拟器这个case是运行不了的。一般情况下涉及到了UI组件,就需要使真机来测试,一般选用Integration Tests测试方式

在这里插入图片描述

androidTest 更像是整合了一些类确保他们组合起来的表现符合预期。
在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 题解|2024暑期杭电多校01
  • python环境搭建步骤记录
  • C语言 | Leetcode C语言题解之第237题删除链表中的节点
  • B树(B-Tree)数据结构
  • 实战:shell脚本练习
  • 微信小程序 button样式设置为图片的方法
  • 设计模式【点滴积累】
  • Spring Boot2(Spring Boot 的Web开发 springMVC 请求处理 参数绑定 常用注解 数据传递)
  • java设计模式:03-06-享元模式
  • 视频监控平台LntonCVS视频融合共享平台智慧安防视频监控汇聚应用方案
  • 最新缺失msvcp140.dll的多种解决方法,有效解决电脑dll问题
  • 通信协议_C#实现CAN通信
  • 【前端】原生实现图片的放大与缩放
  • 安全防御:双机热备
  • 19.x86游戏实战-创建MFC动态链接库
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • Android Volley源码解析
  • Docker: 容器互访的三种方式
  • ES6--对象的扩展
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • js中forEach回调同异步问题
  • leetcode98. Validate Binary Search Tree
  • MySQL数据库运维之数据恢复
  • Spring Cloud Feign的两种使用姿势
  • Swoft 源码剖析 - 代码自动更新机制
  • VuePress 静态网站生成
  • windows下如何用phpstorm同步测试服务器
  • 从重复到重用
  • 动态魔术使用DBMS_SQL
  • 构建工具 - 收藏集 - 掘金
  • 浅谈Golang中select的用法
  • 让你成为前端,后端或全栈开发程序员的进阶指南,一门学到老的技术
  • 实现菜单下拉伸展折叠效果demo
  • 湖北分布式智能数据采集方法有哪些?
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • #我与Java虚拟机的故事#连载18:JAVA成长之路
  • #知识分享#笔记#学习方法
  • $(this) 和 this 关键字在 jQuery 中有何不同?
  • (1)bark-ml
  • (2.2w字)前端单元测试之Jest详解篇
  • (ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类
  • (八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (板子)A* astar算法,AcWing第k短路+八数码 带注释
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (附源码)计算机毕业设计SSM在线影视购票系统
  • (六)激光线扫描-三维重建
  • (十六)一篇文章学会Java的常用API
  • (原創) 物件導向與老子思想 (OO)
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • * 论文笔记 【Wide Deep Learning for Recommender Systems】
  • .helper勒索病毒的最新威胁:如何恢复您的数据?
  • .NET Core中的时区转换问题