Android 单元测试——Espresso 概述篇

单元测试的好处

  1. 发送错误的时候,快速反馈
  2. 在早期开发中,预先发现问题
  3. 安全的重构代码,优化代码的时候不用担心回归
  4. 稳定的开发速度,不用担心技术债务

资源

帮你更好的写单元测试

  1. Espresso
  2. Robolectric
  3. AndroidJUnitRunner
  4. Android Studio

Espresso

用 Espresso 写简洁,漂亮,可靠的 Android UI 测试。

@Test
public void greeterSaysHello() {
    onView(withId(R.id.name_field)).perform(typeText("Steve"));
    onView(withId(R.id.greet_button)).perform(click());
    onView(withText("Hello Steve!")).check(matches(isDisplayed()));
}

Espresso 测试速度是最快的,让你远离 UI 长时间的等待。

目标用户

Espresso 是针对开发人员的,他们认为自动化测试是开发流程中的一部分。当用于黑盒测试的时候,Espresso 可以最大化的解锁那些熟悉的代码。

同步能力

每次调用 onView() 的时候,Espresso 会等待相应的 UI 操作或者断言,直到他们满足以下功能:

  1. 消息队列为空
  2. 没有 异步任务
  3. 空载资源处于闲置状态

相关引用包

espresso-core:核心包包含 View 的匹配(matchers), 动作(actions), 和 断言(assertions)。
espresso-web:包含 WebView 的相关支持。
espresso-idling-resource:Espresso 与后台工作的同步操作。
espresso-contrib:扩展支持资源,例如时间选择器(DatePicker),高级的 ListView(RecyclerView),抽屉效果(Drawer),异步代码测试(CountingIdlingResource)的动作,容易检测。
espresso-intents:扩展和验证 Intent。

你可能感兴趣的:(Android 单元测试——Espresso 概述篇)