试图找出这个geb和spock测试框架并遇到一些问题。现在我正在努力让spock工作。
@Grab(group='org.codehaus.geb', module='geb-core', version='0.7.2')
@Grab(group='org.seleniumhq.selenium', module='selenium-firefox-driver', version='2.31.0')
@Grab(group='org.spockframework', module='spock-core', version='0.6-groovy-1.7')
@Grab(group='org.codehaus.groovy', module='groovy-all', version='1.8.6')
import geb.*
import org.openqa.selenium.firefox.FirefoxDriver
import spock.lang.*
class TestSimpleGoogle extends Specification {
def "pushing an element on the stack"() {
when: "A variable is defined"
title = "Hello"
then: "Check to see if it equals hello"
assert(title == "Hello")
}
}
这是我从命令终端获得的输出
Caught: java.lang.NoSuchMethodError: org.codehaus.groovy.runtime.InvokerHelper.getVersion()Ljava/lang/String;
java.lang.NoSuchMethodError: org.codehaus.groovy.runtime.InvokerHelper.getVersion()Ljava/lang/String;
at org.spockframework.util.GroovyReleaseInfo.getVersion(GroovyReleaseInfo.java:23)
at org.spockframework.util.VersionChecker.<clinit>(VersionChecker.java:18)
at org.spockframework.compiler.SpockTransform.<init>(SpockTransform.java:43)
思想?
答案 0 :(得分:1)
你正在为你正在抓取的Groovy版本抓取错误版本的spock,而且我不确定你为什么要抓住groovy ......
这适用于Groovy 2.1.2:
@Grab( 'org.spockframework:spock-core:0.7-groovy-2.0' )
import spock.lang.*
class TestSimpleGoogle extends Specification {
def "pushing an element on the stack"() {
when: "A variable is defined"
def title = "Hello"
then: "Check to see if it equals hello"
title == "Hello"
}
}
答案 1 :(得分:1)
对于Groovy 1.8,您需要一个以groovy-1.8
结尾的Spock版本。要开始使用,您唯一需要的就是@Grab(group='org.spockframework', module='spock-core', version='0.7-groovy-1.8')
。