11-1.Android 项目结构 - androidTest 包与 test 包(单元测试与仪器化测试)

androidTest 包与 test 包

  • 在 Android 项目中,androidTest 包与 test 包用于存放不同类型的测试代码的
1、测试类型
(1)androidTest 包
  1. 主要用于存放单元测试(Unit Tests)代码

  2. 单元测试是针对应用程序中的独立模块或类进行的测试,它们不依赖于 Android 框架或设备

  3. 这些测试通常在 JVM 上运行,不需要 Android 设备或模拟器

(2)test 包
  1. 用于存放仪器化测试(Instrumented Tests)代码

  2. 仪器化测试是针对整个应用程序或应用程序的某些部分进行的测试,它们依赖于 Android 框架和设备

  3. 这些测试需要在 Android 设备或模拟器上运行,它们需要访问 Android 系统的 API 和应用程序的 UI 元素

2、测试范围与速度
(1)androidTest 包
  1. 测试范围较小,通常只测试应用程序中的某个类或模块的功能

  2. 由于不依赖于 Android 框架,测试速度相对较快

(2)test 包
  1. 测试范围较大,可以测试应用程序的整体功能、UI 交互、性能等

  2. 由于需要运行在 Android 设备或模拟器上,因此测试速度相对较慢

3、测试框架
(1)androidTest 包
  • 通常使用 JUnit 等测试框架进行单元测试(创建项目时已经自动在模块级 build.gradle 文件中引入)
groovy 复制代码
testImplementation 'junit:junit:【版本号】'
androidTestImplementation 'androidx.test.ext:junit:【版本号】'
(2)test 包
  • 通常使用 Espresso 等测试框架进行仪器化测试(创建项目时已经自动在模块级 build.gradle 文件中引入)
groovy 复制代码
androidTestImplementation 'androidx.test.espresso:espresso-core:【版本号】'
相关推荐
三体世界12 分钟前
TCP传输控制层协议深入理解
linux·服务器·开发语言·网络·c++·网络协议·tcp/ip
随心点儿34 分钟前
使用python 将多个docx文件合并为一个word
开发语言·python·多个word合并为一个
不学无术の码农37 分钟前
《Effective Python》第十三章 测试与调试——使用 Mock 测试具有复杂依赖的代码
开发语言·python
tomcsdn3143 分钟前
SMTPman,smtp的端口号是多少全面解析配置
服务器·开发语言·php·smtp·邮件营销·域名邮箱·邮件服务器
通信小小昕1 小时前
ubuntu18.04.1无法安装vscode(安装依赖无效)
ide·vscode·编辑器
EnigmaCoder1 小时前
Java多线程:核心技术与实战指南
java·开发语言
EngZegNgi1 小时前
安卓应用启动崩溃的问题排查记录
android·crash·启动崩溃
火柴就是我2 小时前
每日见闻之Container Decoration
android·flutter
天枢破军2 小时前
【AOSP】解决repo拉取提示无法连接android.googlesource.com
android
whysqwhw2 小时前
OkHttp之AndroidPlatform类分析
android