2013-03-22 45 views
0

试图找出这个geb和spock测试框架并遇到一些问题。现在我只是试图让spock工作。Groovy获取字符串错误

@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

为什么你使用Spock for groovy 1.7? – 2013-03-22 14:28:36

回答

1

你抓住斯波克的错版为你抓住了Groovy的版本,我不知道为什么你抓住的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

对于Groovy 1.8,您需要一个以groovy-1.8结尾的Spock版本。要开始,唯一需要的就是@Grab(group='org.spockframework', module='spock-core', version='0.7-groovy-1.8')