升级到Grails 3.0.1的过程中。除了在2.4.4中运行良好的集成测试外,一切都很好。
我已经注意到grails.test.spock.IntegrationSpec
中不存在org.grails:grails-test:3.0.1
了。
尝试延长spock.lang.Specification
并通过Gradle integrationTest
任务运行但是它似乎没有注入Spring资源。同时尝试@Integration
得到同样的错误,GGTS还抱怨:
General error during canonicalization: Provider "data" not installed java.nio.file.FileSystemNotFoundException: Provider "data" not installed at java.nio.file.Paths.get(Paths.java:147) at
org.grails.io.support.MainClassFinder.searchMainClass(MainClassFinder.groovy:37) at
org.grails.compiler.injection.test.IntegrationTestMixinTransformation.visit(IntegrationTestMixinTransformation.groovy:82) at
org.codehaus.groovy.transform.ASTTransformationVisitor.visitClass(ASTTransformationVisitor.java:150) at org.codehaus.groovy.transform.ASTTransformationVisitor
...
所以我想知道3.0中是否仍然存在IntegrationSpec
。我应该如何运作?
答案 0 :(得分:9)
好吧,想通了@Integration
应该应用并解决编译错误我必须指定@Integration(applicationClass = Application.class)
,因为IDE无法找到Application类。当然,测试用例应该扩展Specification
。
@Autowired
用于需要注入测试类的对象。无法将@Autowired
与@Shared
结合使用,您可以在2.x中执行此操作。