Test Types
根据运行环境的不同划分为两类:Local Unit Tests 和 Instrumented tests
类别 | 运行环境 | Android Studio目录结构 | 适用情形 | 其他 |
---|---|---|---|---|
Local Unit Tests | 本地Java虚拟机 | src/test/java/ | 测试用例对Android SDK没有依赖或者依赖很简单 | 避免了需要加载应用程序App这一繁重的工作,从而大大减少运行所花费的时间 |
Instrumented tests | Android真机、模拟器 | src/androidTest/java/ src/androidTestFlavor/java/ |
依赖于Android、UI测试(App内或跨App间功能测试)、集成测试 | 需要较长时间运行 |
上面仅仅是根据运行环境不同来划分。Android官方给出了更准确的划分,如下:
Unit tests--单元测试
子类别 描述 Local Unit Tests 适用于测试用例对Android SDK无依赖或者依赖通过mock可以满足的情况 Instrumented unit tests 测试用例对Android SDK依赖很大或者无法通过mock满足的时候使用
Integration Tests--集成测试
子类别 描述 App内 通过诸如Espresso的UI测试框架模拟用户操作,测试复杂的用户交互,验证程序的功能 跨App 验证测试App和其他App、系统App间的交互表现,使用支持跨App的UI测试框架,如 UI Automator