1

我对 SPOCK 很陌生,所以如果这是一个愚蠢的问题,请原谅。我已经在基于 Maven 的 Spock-Groovy 项目中完成了报告设置,如下面的 git-hub 项目中所述 - https://github.com/renatoathaydes/spock-reports

我所做的是——

  1. 在我的 POM 中添加了以下 3 个 Mvn 依赖项:

    com.athaydes spock-reports 2.0-RC2 测试 * * org.slf4j slf4j-api 1.7.30 测试 org.slf4j slf4j-simple 1.7.30 测试
  2. 将报告 Config.groovy 添加到 src/test/groovy 路径如下 -

    spockReports { // 一次性设置所有属性 set( [ 'com.athaydes.spockframework.report.showCodeBlocks': true, 'com.athaydes.spockframework.report.outputDir': 'target/spock-reports' ] ) }

现在按照上面的 git 指令结果,应该在我的 target/spock-reports 目录中使用 index.html 生成,但是在运行测试时我遇到了异常。无法理解我该怎么做才能修复此错误!

我还尝试更改为上述依赖项的最新版本,即2.0.0-alpha1,但没有帮助:( 注意:但是在上述两个更改之前一切正常。

线程“主”java.lang.AbstractMethodError 中的异常:接收器类 com.athaydes.spockframework.report.internal.SpockReportsConfiguration 未定义或继承已解析方法抽象 getProperty(Ljava/lang/String;)Ljava/lang/ 的实现目的; groovy.lang.GroovyObject 接口。在 org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:190) 在 groovy.lang.Closure.getPropertyTryThese(Closure.java:313) 在 groovy.lang.Closure.getPropertyOwnerFirst(Closure.java:307) 在groovy.lang.Closure.getProperty(Closure.java:296) at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:49) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty( AbstractCallSite.java:309)

任何帮助将不胜感激。提前致谢。

4

1 回答 1

1

我今天出人意料地让它工作了,通过将版本更改为较旧的稳定版(1.7.1)用于 spock-reports 和最新版本:'2.0.0-alpha1' for - slf4j 依赖项。

<dependency>
  <groupId>com.athaydes</groupId>
  <artifactId>spock-reports</artifactId>
  <version>1.7.1</version>
  <scope>test</scope>
  <exclusions>
    <exclusion>
      <groupId>*</groupId>
      <artifactId>*</artifactId>
    </exclusion>
  </exclusions>
</dependency>
<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-api</artifactId>
  <version>2.0.0-alpha1</version>
  <scope>test</scope>
</dependency>
<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-simple</artifactId>
  <version>2.0.0-alpha1</version>
  <scope>test</scope>
</dependency>
于 2020-07-05T14:38:40.053 回答