- 以下内容翻译自Google官方文档:Building Effective Unit Tests
- 水平有限自己感觉很多内容翻译并不到位,但找不到更好的表达方式,如果您觉着有更好的表达方式,帮助我改进!
构建有效的单元测试
单元测试是你的App测试流程中的基础测试。通过创建和运行单元测试来检验你的代码,你可以非常容易的验证你代码中独立的逻辑部分是否正确。在每次构建之后运行单元测试,可以帮助你快速的捕捉和修复因为修改代码可能引入的bug。
一般来说,一个单元测试可以重复的测试尽可能小的单元代码的功能(它可能是一个方法、类 或者 组件)。当你需要验证你的App中具体的代码正确性的时候,你就应该构建单元测试。比如,如果你在对一个类进行单元测试,你的测试可能会检查这个类是否处于正确的状态。通常来说,你的单元测试代码是隔离的,你的测试仅仅只能对那个单元产生影响。 mocking framework 框架可以被用来隔离你的单元测试。
注意:单元测试不适合测试复杂的UI交互事件。如果想这么做,你应该使用UI测试框架,这将会在 Automating UI Tests 进行讲述。
为了测试android App,你一般需要创建以下几种类型的自动化单元测试:
- 本地测试:这种单元测试只运行在你的本地机器上。这些测试被编译并且以最短的时间运行在本地的JVM上。使用这些方法来运行单元测试,可以让你的单元测试不需要依赖Android的Framework 或者使用mock对象可以覆盖。
- Instrumented test: 这是运行在Android设备或者模拟器上的单元测试。这些测试已经成功的获取instrumentation信息,比如:正在进行测试的App的Context。使用这种测试,运行那些有Android依赖的单元测试,不容易被mock对象覆盖。使用这种方法运行有Android依赖的单元测试,这个时候再使用mock对象并不能完全覆盖所有的测试。
这节课将教你如何构建这些类型的单元测试。
课程:
构建本地单元测试
学习如何构建运行在你本地机器上的单元测试
构建 Instrumented 单元测试
学习如何构建运行在Android设备或者模拟器上的单元测试
Notice: