本文是翻译的Test apps on Android的官方文档 Build instrumented unit tests

本文不照搬每一个单词,理解有误请跳转原文链接。

Build instrumented unit tests

构建仪器化的单元测试。

Instrumented unit tests依赖于真实设备或者模拟器运行,它可以利用Android framework API和Supporting API。

Instrumented unit tests 比 local unit test 提供了更高的保真度,但是运行速度比较慢。

因此,建议只在必须针对真实设备行为进行测试的情况下,才使用仪器化测试,AndroidX Test提供了很好的支持。

Set up your testing environment


在Android studio project中,必须将instrumented unit tests的类文件放置在module-name /src/androidTest/java/ 中。

AndroidX Test APIs包括,JUnit 4 test runner ( AndroidJUnitRunner) 和API for functional UI tests (Espresso and UI Automator)。

app/build.gradle中配置依赖库:

dependencies {//AndroidJUnitRunner and JUnit RulesandroidTestImplementation 'androidx.test:runner:1.1.0'androidTestImplementation 'androidx.test:rules:1.1.0'// Optional -- Hamcrest library, assert matcherandroidTestImplementation 'org.hamcrest:hamcrest-library:1.3'// Optional -- UI testing with EspressoandroidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0'// Optional -- UI testing with UI AutomatorandroidTestImplementation 'androidx.test.uiautomator:uiautomator:2.2.0'}

在使用Junit 4时,需要明确指定AndroidJUnitRunner为默认的 test instrumentation runner:

android {defaultConfig {testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"}}

Create an instrumented unit test class


instrumented单元测试的类和local单元测试类似,See ➡️。

创建一个基于JUnit 4的instrumented unit test,指定了AndroidJUnit4作为默认的test runner。
因此,不需要在类开头添加 @RunWith(AndroidJUnit4.class)

[Test apps on Android] Build instrumented unit tests相关推荐

  1. Android Instrumented Unit Tests (AndroidTests)

    參考官方文件Build instrumented unit tests Cannot resolve symbol 'androidx.*' / 'org.junit.*' Android Studi ...

  2. Android 仪器化单元测试(instrumented unit tests) Androidx kotlin版本

    前言 近期需要进行单元测试,测试内容需要真机环境,所以需要使用instrumented unit tests,用来在跑在真机上进行测试. 本blog用于记录. 简介 仪器化单元测试(instrumen ...

  3. Android测试系列之Instrumented Unit Test-Espresso

    Instrumented unit tests are unit tests that run on physical devices and emulators, instead of the Ja ...

  4. Android单元测试之Local unit tests(上)

    Android单元测试之Local unit tests(上) 简介 本地单元测试 JUnit 4 添加依赖 测试例子 结论 Mockito 添加依赖 测试例子-mock基本使用 测试例子-mock与 ...

  5. android studio Instrumented tests代码覆盖率获取方法(补充)

    上一篇文章android studio Instrumented tests代码覆盖率获取方法文末提到: 通过文中介绍的方法,最终结果只包含app/src/main下代码的覆盖率,如果需要统计引入的l ...

  6. 深入分析Android (build/core/*.mk脚本)

    深入分析Android (build/core/*.mk脚本) 文档简要整理Android的make脚本的内容.以供备忘和参考. 1.    Build Layers Build Layers描述的是 ...

  7. [转]Creating Unit Tests for ASP.NET MVC Applications (C#)

    本文转自:http://www.asp.net/mvc/tutorials/older-versions/unit-testing/creating-unit-tests-for-asp-net-mv ...

  8. Fun with Unit Tests – Testing abstract classes

    Summary In this article I'll be looking into a trickier part of unit testing– testing the functional ...

  9. Android build编译过程

    Android build编译过程及Android.mk与Android.bp分析 Android的官方网站:http://source.android.com/source/building.htm ...

最新文章

  1. 公路图和地铁图有什么区别?
  2. exe一机一码加密工具_文件夹加密软件有哪些作用?
  3. 组合模式_设计模式结构性:组合模式(CompositePattern)
  4. 加法器 编码器 译码器 显示译码器
  5. 岗位推荐 | 实在智能招聘深度学习算法研究员(可实习)
  6. ITK:计算曲率各向异性扩散
  7. 思科路由器由于IP INPUT进程导致cpu负荷高的判断方法
  8. 使用Apache POI插入内容
  9. wget for windows 下载与安装
  10. 模式识别听课笔记【武汉理工大学】
  11. python爬虫 去哪网数据分析
  12. 苹果支付招聘业务开发经理 需有加密货币支付工作经验
  13. Mysql优化-大数据量下的分页策略
  14. Spring Cloud Hystrix 进行服务熔断设置时,报错找不到对应的服务熔断方法
  15. Nodejs版本的企业微信中接收消息与腾讯对接之验证URL 代码已经上传,可以去下载
  16. 毕业后想拿大厂offer?你得完整拥有这些计算机知识体系!
  17. linux怎样ping域名看不到ip,在linux下,ping域名ping不了,ping ip却可以解决办法
  18. 360优化开机速度后慢了_提高电脑开机速度的优化技巧
  19. der解码规则_[转] DER编码和ASN.1
  20. Python实现轮盘抽奖小程序(带界面)

热门文章

  1. 腾讯云轻量应用服务器如何添加删除IP端口(防火墙)?
  2. 数据库系统-数据库体系结构、数据库设计过程、概念设计过程、E-R图
  3. [JZOJ4465][JSOI2016?]飞机调度
  4. ppt中查看所有元件,比如文本框
  5. wap2app 安卓返回键 直接退出问题
  6. 自己动手写数据库:记录管理器的设计和实现
  7. react native unable to load script from sets “index.android.bundle“.make sure your bundle is packag
  8. 【生活指南】我的未来我做主
  9. 发票识别+发票查验API-企业财务信息智能化与共享化建设
  10. 【MySQL】MySQL触发器原理与实战(MySQL专栏启动)