本文所有内容均参考自Gauge官方文档
钩子可以理解为Java中的AOP(Aspect Oriented Programming),把Specification或Scenario当做一个切面,在执行之前和执行之后做一些操作
Suit Hook
作用于所有的Specification,在Specification执行之前或执行之后执行
1 2 3 4 5 6 7 8 9 10 11
| //在所有的Specification执行之前执行 @BeforeSuite public void BeforeSuite() { // Code for before suite }
//在所有的Specification执行之后执行 @AfterSuite public void AfterSuite() { // Code for after suite }
|
##Specification Hook
作用于Specification,可以在某个Specification执行之前或执行之后执行
1 2 3 4 5 6 7 8 9 10 11
| //在每一个Specification执行之前执行 @BeforeSpec public void BeforeSpec() { // Code for before spec }
//在每一个Specification执行之后执行 @AfterSpec public void AfterSpec() { // Code for after spec }
|
##Scenario Hook
作用于Scenario ,可以在某个Scenario 执行之前或执行之后执行
1 2 3 4 5 6 7 8 9 10 11
| //在每一个Scenario 执行之前执行 @BeforeScenario public void BeforeScenario() { // Code for before scenario }
//在每一个Scenario 执行之后执行 @AfterScenario public void AfterScenario() { // Code for after scenario }
|
##Step Hook
作用于Step,可以在某个Step执行之前或执行之后执行
1 2 3 4 5 6 7 8 9 10 11
| //在每一个Step执行之前执行 @BeforeStep public void BeforeStep() { // Code for before step }
//在每一个Step执行之后执行 @AfterStep public void AfterStep() { // Code for after step }
|
Gauge默认会在Scenario执行之后清除缓存,所以会在下个Scenario执行之前创建新的对象,该功能可以在配置中设置清除缓存的等级