Spock:在setup()cleanup()方法中测试名称和结果

时间:2014-07-23 09:22:46

标签: java unit-testing groovy spock

我想知道是否可以在Spock测试的生命周期方法中提供以下数据:

  • setup()方法中的测试名称
  • cleanup()方法中的测试名称和测试结果

我要问的原因是我希望将这些元数据发送到数据接收器,而无需触及每个测试。

谢谢! 马丁

2 个答案:

答案 0 :(得分:5)

this.specificationContext.iterationInfo.name中尝试setup()。不确定它是否有效。一般来说,specificationContext是我要查找此类数据的地方。

答案 1 :(得分:0)

从Opal的回答中更新:

现在(Spock 1.1)specificationContext.currentIteration.name

对于记录,您也可以使用

@Rule
TestName testName = new org.junit.rules.TestName()
...
println "name: $testName.methodName"

......但似乎没有意义。

对于另一个问题,得到结果:我找不到从Spock SpecificationContext得到这个的方法。

我快速浏览了org.junit.rules.TestWatcher ...但是对于Spock,这似乎无法检测到失败的测试。