0

このゲブとスポックのテストフレームワークを理解しようとしていて、いくつかの問題があります。今、私はスポックを機能させることに取り組んでいます。

@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)

考え?

4

2 に答える 2

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"
    }
}
于 2013-03-22T14:38:45.027 に答える
1

Groovy 1.8 の場合、末尾がgroovy-1.8. 開始するには、必要なグラブは だけです@Grab(group='org.spockframework', module='spock-core', version='0.7-groovy-1.8')

于 2013-03-22T14:38:57.803 に答える