java.lang.AbstractMethodError 为我的 SPOCK 测试实施 Spock-Reports Extension (renatoathaydes)

java.lang.AbstractMethodError in implementing Spock-Reports Extension (renatoathaydes) for my SPOCK test

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

我所做的是-

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

    com.athaydes 斯波克报告 2.0-RC2 测试 * * org.slf4j slf4j-api 1.7.30 测试 org.slf4j slf4j-简单 1.7.30 测试
  2. 添加报告 Config.groovy 到 src/test/groovy 路径如下-

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

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

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

线程“main”中的异常java.lang.AbstractMethodError:接收者classcom.athaydes.spockframework.report.internal.SpockReportsConfiguration 没有定义或继承解析方法抽象getProperty( Ljava/lang/String;)Ljava/lang/Object;界面 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) 在 org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:49) 在 org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:309)

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

我今天出人意料地让它工作了,通过将版本更改为较旧的稳定版本 (1.7.1) 以获取 spock-reports 和最新版本:“2.0.0-alpha1”以获取 - 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>