Где находится IntegrationSpec в Grails 3
В середине обновления до 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
Получив такую же ошибку, дополнительно пожаловался ГГТС:
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. Как мне заставить это работать?
1 ответ
Хорошо, разобрался @Integration
следует применять и для устранения ошибки компиляции мне пришлось указать @Integration(applicationClass = Application.class)
потому что каким-то образом IDE не может найти класс приложения. Конечно, тестовый пример должен быть расширен Specification
,
@Autowired
использоваться для объектов, которые должны быть внедрены в ваши тестовые классы. Не могу использовать @Autowired
в сочетании с @Shared
, что вы можете сделать в 2.x.