构建高质量软件:持续集成与持续交付系统实践
上QQ阅读APP看书,第一时间看更新

2.5 本章总结

本章首先通过对比JUnit自身的断言方法和Hamcrest对象匹配器发现,在很多JUnit断言方法无法胜任的场景或者做得不够好的地方,Hamcrest都能够做得很好。Hamcrest功能强大齐全、灵活性强、易于扩展,这些优点使得它在对象匹配这一垂直细分领域具有很高的地位。除了能够提供大量优秀工具、框架、平台集成之外,Hamcrest还广泛应用于各种开发语言,比如Python、Ruby、Objective-C、PHP、Erlang、Swift等。

本章还通过大量代码示例,详细介绍了Hamcrest匹配器的用法,相信这些用法足以让你应对日常的开发工作。强烈建议大家养成使用Hamcrest的习惯。如果Hamcrest自带的匹配器还不足以满足工作的需要,那么自定义对象匹配器也是非常好的选择。

本章最后介绍了专门用于测试RESTful API的工具:REST-Assured。该工具由于利用了Hamcrest强大的对象匹配库,以及自身DSL风格的编码方式,因此得到了开发者的广泛认可。限于篇幅,本章无法详尽展开讲解REST-Assured的每一个使用细节,大家可以参考相关资料以进一步学习。

由于本书的其他章节还会涉及Hamcrest对象匹配器的使用,因此希望大家能够熟练掌握这部分内容,从而获得更好的学习效果。

【拓展阅读】

1)Hamcrest Java语言版帮助文档,网址为http://hamcrest.org/JavaHamcrest/tutorial

2)Hamcrest Python语言版帮助文档,网址为http://github.com/hamcrest/PyHamcrest

3)Hamcrest Ruby语言版帮助文档,网址为https://github.com/hamcrest/ramcrest

4)Hamcrest Objective-C语言版帮助文档,网址为https://github.com/hamcrest/OCHamcrest

5)Hamcrest PHP语言版帮助文档,网址为https://code.google.com/p/hamcrest/downloads/list?q=label:PHP

6)Hamcrest Erlang语言版帮助文档,网址为https://github.com/hyperthunk/hamcrest-erlang

7)Hamcrest Swift语言版帮助文档,网址为https://github.com/nschum/SwiftHamcrest

8)维基百科:陈述式风格编程,网址为https://en.wikipedia.org/wiki/Declarative_programming

9)Hamcrest被引用情况在Maven中央仓库的统计,网址为https://mvnrepository.com/artifact/org.hamcrest/hamcrest-core/usages

10)REST-assured的官方网址为http://rest-assured.io/

11)REST-assured用户手册,网址为https://github.com/rest-assured/rest-assured/wiki/Usage

12)REST-assured的介绍见https://github.com/rest-assured/rest-assured/wiki/GettingStarted

13)在线API测试站点,网址为https://apitester.com/