【问题标题】:Spock: test name and outcome in setup() cleanup() methodsSpock:setup() cleanup() 方法中的测试名称和结果
【发布时间】:2014-09-14 09:51:42
【问题描述】:

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

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

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

谢谢! 马丁

【问题讨论】:

  • setup() 中尝试this.specificationContext.iterationInfo.name。不确定它是否有效。一般来说,specificationContext 是我寻找此类数据的地方。
  • Opal 的解决方案就像一个魅力!好点蛋白石
  • 如果您觉得我的回答有用,请接受并点赞。

标签: java unit-testing groovy spock


【解决方案1】:

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,这似乎无法检测到失败的测试。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2020-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-10
      • 2022-11-28
      • 2021-02-17
      • 2022-08-04
      • 1970-01-01
      相关资源
      最近更新 更多