пружинный ботинок и Спок

#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. Спасибо, я точно не видел этой опечатки.