TDD 开发流程

TDD 开发流程:

  1. 编写测试代码;
  2. 然后运行测试;
  3. 然后得到错误;
  4. 再编写代码;
  5. 再修正错误;
  6. 再运行测试,... ,最终测试通过。

可能你会很不习惯这种方式,认为先写测试是在无中生有。确实,我们是在无中生有。我们在思考如何写测试代码时,实际上就是我们对功能的构思跟对业务代码的设计,只是这个构思与设计现在还仅仅存在于我们的设想当中,于是我们开始从无到有地开始写代码。

当我们的测试通过,这就意味着我们的业务代码开发完成;之后我们对业务代码进行修改时,最开始编写的测试又为我们提供的充足的信心与保护:只要测试能通过,那么修改就是无害的。这是不是很棒呢?

我们再次强调下 TDD 开发的流程:

首先编写一个测试,运行这个测试看着它失败。然后编写最少量的代码取得一些进展,再运行测试。如此不断重复,直到测试通过为止。最后,或许还要重构代码,测试能确保不破坏任何功能

测试类库

Java 测试

测试框架

  • JUnit : Java 测试框架。
  • Mockito:Mockito 是一个模拟测试框架,可以让你用优雅,简洁的接口写出漂亮的单元测试。(对那些不容易构建的对象用一个虚拟对象来代替,使其在调试期间用来作为真实对象的替代品)
  • PowerMock:编写单元测试仅靠 Mockito 是不够。因为 Mockito 无法 mock 私有方法、final 方法及静态方法等。PowerMock 这个 framework,主要是为了扩展其他 mock 框架,如 Mockito、EasyMock。它使用一个自定义的类加载器,纂改字节码,突破 Mockito 无法 mock 静态方法、构造方法、final 类、final 方法以及私有方法的限制。
  • WireMock:模拟 HTTP 服务的工具(Mock your APIs)。
  • Testcontainers:一个支持 JUnit 的测试工具库,提供轻量级的且一次性的常见数据库测试支持、Selenium Web 浏览器或者其他任何可以在 Docker 容器中运行的实例支持。

相关阅读:

测试平台

  • MeterSphere : 一站式开源持续测试平台,涵盖测试跟踪、接口测试、性能测试、团队协作等功能,全面兼容 JMeter、Postman、Swagger 等开源、主流标准。
  • Apifox:API 文档、API 调试、API Mock、API 自动化测试。
posted @ 2023-11-04 10:25  九霄道长  阅读(59)  评论(0)    收藏  举报