Android 测试是在 JUnit的基础上进行,你可以选择在JVM虚拟机上进行一个本地单元测试,也可以选择在Android设备上进行一个仪器测试。本章节将讲述Android 测试相关的一些概念和工具。
测试类型
当使用Android Studio去编写测试的时候,你测试的代码必须放在两个目录的其中一个。对于你工程的每个模块,Android Studio
都包含了以下测试类型的目录:
本地单元测试:(Local unit tests)
本地单元测试位于module-name/src/test/java/
目录下
这些测试是运行在本地的JVM虚拟机上,它是没有访问Android framework层的API的。
想要进行本地单元测试,可以参考 Building Local Unit Tests.
仪器测试:(Instrumented tests)
仪器测试位于module-name/src/androidTest/java/
目录下
这些测试必须运行在真机或者模拟器上
当处于测试状态下时,仪器测试会被编译进一个APK文件中。这个APK文件和你的app是运行在系统的同一个进程中的,
所以在测试文件中,你可以去调用app中的方法或者去修改它的属性,也允许用户与你的app进行一个交互
想要了解更多关于如何创建仪器测试的问题,可以参考以下这些:
Building Instrumented Unit Tests:
Build complex unit tests with Android dependencies that cannot be satisfied with mock objects.Automating User Interface Tests:
Create tests to verify that the user interface behaves correctly for user interactions within
a single app or for interactions across multiple apps.Testing App Component Integrations:
Verify the behavior of components that users do not directly interact with, such as aService
or a Content Provider.
然而,以上所述,只是本地单元测试和仪器测试的一个概述,主要是为了帮助大家弄清本地单元测试和仪器测试的一个区别。
构建Anddroid 测试指南
以下这些文档更详细地说明了如何去构建和运行各种测试类型:
这种方式是运行在JVM虚拟机上的,主要是用在没有依赖项的时候,或者一些简单的依赖项可以去模拟的时候
Building Instrumented Unit Tests
这种方式是运行在真机或者模拟器上的,主要是用在需要Android依赖项,而这些Android依赖项没办法去模拟的时候
Automating User Interface Tests
主要是用于去检验用户界面是否正确
Testing App Compontent Integrations
主要是用于校验那些不与用户直接去进行交互的组件,比如服务或者内容提供者
主要是用来测试用户界面是否运行流畅
热门评论
不错,真心不错的,,,,,。