使用Spock框架编写测试代码
Spock 介绍
Spock是一个为groovy和java语言应用程序来测试和规范的框架。
这个框架的突出点在于它美妙和高效表达规范的语言。
得益于JUnit runner,Spock能够在大多数IDE、编译工具、持续集成服务下工作。
Spock的灵感源于JUnit,jMock, RSpec, Groovy, Scala, Vulcans以及其他优秀的框架形态。
基本操作
- a simple assertion
1 |
|
- given when then 使用
1 |
|
- expecting exceptions
1 |
|
- data pipes. where设置所有期望值
1 |
|
1 |
|
- data tables
1 |
|
- mocks 模拟出类或API来声明预期的行为
1 |
|
- stubs 在测试的代码里提供数据或者值
1 |
|
- help methods
1 |
|
- with 测试但个对象的多个属性
1 |
|
verifyAll() 确保所有断言都在执行,而不管其中之一是否失败了。
当使用with时,第一行测试失败了,第二行测试就不会执行了,而verifyAll 会运行所有行测试
1 |
|
setup-and-teardown
- setupSpec(): 在规范的开始设置状态一次,这是为了在各个测试方法之间不应该改变的东西
- setup(): 将在该类中的每个单独测试方法之前运行。这可用于在每次测试开始时设置干净状态。
- cleanup(): 在每个测试方法结束时清理数据或状态
- cleanupSpec() : 对于最终的分解代码,该方法将在运行所有测试的最后调用一次。
and可以增加多个使代码根据可读性:
1
2
3
4
5
6
7
8given: "test method"
// code ....
and: "test method with user1"
// code ...
and: "test method with user2"
// code ...
使用Spock框架编写测试代码
http://example.com/使用Spock框架编写测试代码/