我刚刚将 spock 添加到 Grails 2.2.3 项目
我向 Buildonfig.groovy 添加了以下依赖项:
plugins { test(":spock:0.7") }
然后创建了我的规范类,“test/unit/LocationSpec.groovy:
import grails.test.mixin.* import org.junit.* import spock.lang.* /** * See the API for {@link grails.test.mixin.support.GrailsUnitTestMixin} for usage instructions */ @TestFor(Location) class LocationSpec extends Specification { def setup() { } def cleanup() { } def "compare"() { when: def loc1 = new Location(description:descr1) def loc2 = new Location(description:descr2) then: loc1.compareTo(loc2) == descr1.compareTo(descr2) where: descr1 | descr2 | pidm1 | pidm2 "foo" | "foo" | 1333868 | 1333868 } }
但是,我在规范导入行中遇到以下错误:
Groovy:unable to resolve class spock.lang.Specification
最佳答案
德普! R.T.F.M.
来自http://grails.org/plugin/spock :
Grails 2.2 uses Groovy 2.0, which requires a special Spock version. So to use the Spock plugin with Grails 2.2, modify you BuildConfig.groovy file to include the following:
grails.project.dependency.resolution = {
repositories {
grailsCentral()
mavenCentral()
}
dependencies {
test "org.spockframework:spock-grails-support:0.7-groovy-2.0"
}
plugins {
test(":spock:0.7") { exclude "spock-grails-support" }
}
}
关于Grails 2.2.3 在类路径上找不到 Spock,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19320221/