【发布时间】:2014-08-25 07:27:53
【问题描述】:
我有两个 Spock 规范,都从不同的起点测试了一个很长的过程,所以就像
@Stepwise
class FooSpec extends Specification {
def "setup1"() {...}
def "setup2"() {...}
def "common1"() {...}
def "common2"() {...}
...
}
@Stepwise
class BarSpec extends Specification {
def "setup3"() {...}
def "setup4"() {...}
def "common1"() {...}
def "common2"() {...}
...
}
现在我想重构我的代码以删除所有常见* 功能方法的重复数据,这些方法将在不同的设置之后执行。
我尝试使用子类化,但超类的功能方法在之前执行,而不是在子类的功能方法之后。我还尝试编写自己的 Spock 扩展(Groovy 2 的 Spock 版本 0.7),但找不到在那里实现我想要的行为的方法。
【问题讨论】: