TDD 开发流程
TDD 开发流程:
- 编写测试代码;
- 然后运行测试;
- 然后得到错误;
- 再编写代码;
- 再修正错误;
- 再运行测试,... ,最终测试通过。
可能你会很不习惯这种方式,认为先写测试是在无中生有。确实,我们是在无中生有。我们在思考如何写测试代码时,实际上就是我们对功能的构思跟对业务代码的设计,只是这个构思与设计现在还仅仅存在于我们的设想当中,于是我们开始从无到有地开始写代码。
当我们的测试通过,这就意味着我们的业务代码开发完成;之后我们对业务代码进行修改时,最开始编写的测试又为我们提供的充足的信心与保护:只要测试能通过,那么修改就是无害的。这是不是很棒呢?
我们再次强调下 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 容器中运行的实例支持。
相关阅读:
- The Practical Test Pyramid- Martin Fowler (很赞的一篇文章,不过是英文的)
- 浅谈测试之 PowerMock
测试平台
- MeterSphere : 一站式开源持续测试平台,涵盖测试跟踪、接口测试、性能测试、团队协作等功能,全面兼容 JMeter、Postman、Swagger 等开源、主流标准。
- Apifox:API 文档、API 调试、API Mock、API 自动化测试。
本文来自博客园,作者:九霄道长,转载请注明原文链接:https://www.cnblogs.com/jiuxiao/articles/17808986.html

浙公网安备 33010602011771号