【发布时间】:2016-07-13 01:22:14
【问题描述】:
我是 Spock 框架的新手,在使用抽象 java 测试类时遇到了问题。
我想要的是一个 groovy 测试类,它用一些常用方法扩展了其他一些 java 抽象类,而后者又扩展了 Specification 类。
所以,代码如下:
class GroovyTest extends AbstractTest {
def "my test"() {
....
}
}
public abstract class AbstractTest extends Specification {
...
some common methods
...
}
当我运行 GroovyTest 类时,出现以下错误:
org.spockframework.runtime.InvalidSpecException:规范“org.my.package.AbstractTest”未正确编译(Spock AST 转换未运行);尝试做一个干净的构建
当我使用 groovy 抽象类时,它可以正常工作。
所以我的问题是有没有办法将 Java 类与 Spock 框架一起使用?
【问题讨论】:
-
你为什么要这样做?通过建造这种通天塔,你不会得到我能想到的任何好处,所以我很想了解你要解决的问题
-
我只有一个带有通用方法的抽象 java 类,用于不同的 java 测试。现在我正在尝试添加用 Groovy 编写的新测试,但我还需要这个类的功能。这就是我不希望它变成一个 groovy 类的原因。
-
你想如何重用这个抽象的Java类?您想从 Spock 规范扩展 Java 测试吗?
-
我只是想知道通过 Java 测试类扩展 Spock 规范的可能性,特别是编译器没有禁止它。