概述
不需要源码
可以不需要
配合的工具
需要源码的
Android基于java,同时Android测试基于junit
所以测试分jvm的单元测试、以及需要设备(模拟器)支持的集成测试
变体测试目录规则:“androidTestVariantName”
Type | Subtype | Description |
---|---|---|
单元测试 | 本地单元测试 | 只需要jvm运行,或者可以模拟对Android的依赖的时候用 |
集成单元测试 | 需要安卓设备(模拟器),比如无法模拟的appContext | |
集成测试 | 单个app组件 | 意图明确(输入或者反馈)的情况下使用,如espresso |
跨app组件 | 应用间(非系统和非系统、系统和非系统app之间),如 UI Automator |
默认情况下,测试只针对debug变体,如果想在其他变体使用,如下:
android {
...
testBuildType "staging"
}
Android测试(五)– JUnit4
Android测试(六)– Android测试
相关
Android测试(七)– Hamcrest
Android测试(八)– UI表现
Android测试(九)– Studio
资源索引
关于资源,非官方莫属。
API相关:
- 框架Junit
- 常规测试:https://developer.android.com/reference/android/test,
这个测试主页已经打不开了,其包含mock测试类(/mock/package-summary.html)
Loader测试类等(/LoaderTestCase.html),可以在全局右上角搜索功能里输入test查看。 - 支持库测试
包含runner、jank、espresso等
(jank的概念:graphic系统,gpu或cpu不能及时渲染帧数导致在display跳转帧数时,只能继续显示前一帧的情况。)
文档相关:
代码相关:
推销相关:
视频相关:
简单说明
“文档–培训部分”的示例代码和“代码相关–官方测试例子”是一样的,所以不用看的太仔细,看demo会快一些。
junit3和junit4不要混用,可能有意外。
测试框架主要分为:
- 常规测试:mockito,还有一些被测试支持库替代的类
- 测试支持库:AndroidJunitRunner,Espresso,UI Automator