0%

重构(一):详解 TDD

1. 什么是 TDD

  • 定义:TDD 的全称叫做 Test-Driven Development,即测试驱动开发。它是一种软件开发流程,由敏捷的“极限编程”引入
  • 原理:先写出测试用例,然后再写功能代码。确保所有对外暴露的代码都可测试,并且通过测试

2. TDD 的具体流程

  1. 新建一个测试类,添加测试用例
  2. 新建功能实现类
  3. 运行测试,由于功能类未完成,测试失败
  4. 补充功能类,实现功能
  5. 再次运行测试,使得测试通过
  6. 重复这个过程完成整个应用的开发

3. TDD 的优缺点

  • 优点:

    • 代码可测试:它从测试出发,保证了代码的可测试性
    • 耦合度低:在测试的过程中,为了可测试的需求,开发人员必须将一些逻辑从 UI 等难于测试的地方解耦出来,使得系统的耦合度降低,使得代码粒度更小,结构清晰
    • 测试覆盖率:具有一定的测试覆盖率,可以为后续的升级维护提供正确性保证。
  • 缺点:

    • 上手难度较高,开发人员需要一定的能力以及一段时间的适应才能驾驭这种方法

4. 怎样使用 TDD

  • 建议使用 Robolectric,它将测试运行在 JVM 之上,省去了测试部署、加载到模拟器的耗时操作
  • 同时避免了一些由于 Stub 引起的问题
-------------------- 本文结束感谢您的阅读 --------------------