本章将在Jenkins中自动执行单元测试脚本,并生成测试报告。使用了较为方便的Spock测试框架,非常值得在Java项目的单元测试中推广应用。
(一)使用Spock框架进行自动化单元测试
- Spock的介绍
谈到java的单元测试框架,一般常用的是JUnit,但我们今天推荐的单元测试框架是Spock。
Spock是基于groovy和Java语言的框架,它的特点是能够高效方便的进行编码和展示测试结果。Spock用groovy语言编写,groovy语言是基于Java的,语法很多类似Python,Java程序员可以无缝掌握。
Spock框架的优点很多。除了继承了groovy的方便的语法外,还有两个比较重要的优点:
- 方法名称、输入输出都可以用字符串表示,并出现在测试报告内。这样,直接通过方法名称和输入输出名称,就能直观的看到测试了哪些内容。
- 测试结果能够很直观的展现,便于查找问题,这是区别于Junit最明显的一点。
Spock的几个优点我们会在后面的案例里逐步演示。
- pom的配置
要在代码中使用Spock框架,首先当然是在pom中声明依赖项。Spock的依赖项可以分为两个部分,一个是框架本身的依赖项,一个是生成测试报告的依赖项,具体的配置项如下所示。
</plugins>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.6</version&