构建有效的单元测试

单元测试是应用测试策略中的基本测试。通过针对代码创建和运行单元测试,您可以轻松验证各个单元的逻辑是否正确。在每次编译后运行单元测试可帮助您快速捕捉和修复由应用的代码更改导致的软件回归。

单元测试通常以可重复的方式运用尽可能小的代码单元(可能是方法、类或组件)的功能。当您需要验证应用中特定代码的逻辑时,应构建单元测试。例如,如果您正在对某个类进行单元测试,则测试可能会检查该类是否处于正确状态。通常,代码单元在隔离的环境中进行测试;您的测试仅影响和监控对该单元的更改。您可以使用依赖项提供程序(如 Robolectric)或模拟框架将您的单元与其依赖项隔离开来。

注意:单元测试不适用于测试复杂的界面交互事件。对于此类事件,您应改用界面测试框架,如自动执行界面测试中所述。

为了测试 Android 应用,您通常会创建下面这些类型的自动化单元测试:

  • 本地测试:仅在本地计算机上运行的单元测试。这些测试编译为在 Java 虚拟机 (JVM) 本地运行,以最大限度地缩短执行时间。如果您的测试依赖于 Android 框架中的对象,我们建议您使用 Robolectric。对于依赖于您自己的依赖项的测试,请使用模拟对象来模拟您的依赖项的行为。
  • 插桩测试:在 Android 设备或模拟器上运行的单元测试。这些测试可以访问插桩测试信息,如被测应用的 Context。您可以使用此方法来运行具有复杂 Android 依赖项(需要更强大的环境,如 Robolectric)的单元测试。

本课程的几节课将教您如何构建这些类型的自动化单元测试。

课程

构建本地单元测试
了解如何构建在本地计算机上运行的单元测试。
构建插桩单元测试
了解如何构建在 Android 设备或模拟器上运行的单元测试。

其他资源

如需详细了解如何在 Android 测试中使用 Espresso,请参阅以下资源。

示例

Codelab