#spock #spring-test
Вопрос:
У меня есть приложение springBootVersion = ‘2.3.2.RELEASE’, и я хотел бы использовать Spock для своих модульных и интеграционных тестов. У меня есть это для Спока в моем классе:
testImplementation('org.springframework.boot:spring-boot-starter-test') { exclude group: 'junit', module: 'junit' //by both name and group } testImplementation group: 'org.spockframework', name: 'spock-core', version: '1.2-groovy-2.4' testImplementation group: 'org.spockframework', name: 'spock-core', version: '1.2-groovy-2.4' implementation group: 'org.codehaus.gmavenplus', name: 'gmavenplus-plugin', version: '1.6.3'
И мой первый тест довольно прост:
@SpringBootTest(classes = PrototypeApplication.class) class PrototypeApplicationSpec extends Specification { @Autowired ApplicationContext context def "test context loads"() { expect: context != null } }
Но когда я запускаю его, текст приложения равен нулю:
gt; Task :compileJava UP-TO-DATE gt; Task :compileGroovy NO-SOURCE gt; Task :processResources UP-TO-DATE gt; Task :classes UP-TO-DATE gt; Task :compileTestJava UP-TO-DATE gt; Task :compileTestGroovy gt; Task :processTestResources UP-TO-DATE gt; Task :testClasses gt; Task :test FAILED Condition not satisfied: gt; context != null | | null false gt; gt; Condition not satisfied: gt; gt; context != null | | null false
Прошло некоторое время с тех пор, как я использовал Spock, поэтому я не уверен на 100%, что мои библиотеки верны, но он пытается запустить, просто не может загрузить контекст.
Комментарии:
1. Пожалуйста, обновите версию Spock 1.2-groovy-2.4 действительно старая, но то же самое относится и к весенней версии.
2. Да, мне это нужно, но для этого, скорее всего, потребуется Gradle и другие изменения.
Ответ №1:
Вам нужно включить spock-spring
это в свой проект.
Замените один из spock-core
дубликатов на spock-spring
внутри вашего build.gradle
:
testImplementation group: 'org.spockframework', name: 'spock-core', version: '1.2-groovy-2.4' testImplementation group: 'org.spockframework', name: 'spock-spring', version: '1.2-groovy-2.4'
Комментарии:
1. Спасибо, я точно не видел этой опечатки.