Grails 3 中的 IntegrationSpec 在哪里
Where is IntegrationSpec in Grails 3
正在升级到 Grails 3.0.1。一切都很好,除了在 2.4.4 中运行良好的集成测试。
我注意到 grails.test.spock.IntegrationSpec
不再出现在 org.grails:grails-test:3.0.1
中。
尝试通过 Gradle integrationTest
任务扩展 spock.lang.Specification
和 运行 但是 它似乎没有注入 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
...
所以我想知道 IntegrationSpec
是否仍然存在于 3.0 中。我应该如何让它工作?
好吧,发现应该应用 @Integration
并解决编译错误我必须指定 @Integration(applicationClass = Application.class)
因为不知何故 IDE 找不到应用程序 class .当然测试用例应该扩展 Specification
.
@Autowired
用于需要注入测试的对象 classes。不能将 @Autowired
与 @Shared
结合使用,您可以在 2.x.
中使用
正在升级到 Grails 3.0.1。一切都很好,除了在 2.4.4 中运行良好的集成测试。
我注意到 grails.test.spock.IntegrationSpec
不再出现在 org.grails:grails-test:3.0.1
中。
尝试通过 Gradle integrationTest
任务扩展 spock.lang.Specification
和 运行 但是 它似乎没有注入 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
...
所以我想知道 IntegrationSpec
是否仍然存在于 3.0 中。我应该如何让它工作?
好吧,发现应该应用 @Integration
并解决编译错误我必须指定 @Integration(applicationClass = Application.class)
因为不知何故 IDE 找不到应用程序 class .当然测试用例应该扩展 Specification
.
@Autowired
用于需要注入测试的对象 classes。不能将 @Autowired
与 @Shared
结合使用,您可以在 2.x.