spring 开机 & 史波克
spring boot & Spock
我有一个 springBootVersion = '2.3.2.RELEASE' 应用程序,我想使用 Spock 进行单元和集成测试。我在我的 Gradle:
中为 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
}
}
但是当我 运行 它时,ApplicationContext 为空:
> Task :compileJava UP-TO-DATE
> Task :compileGroovy NO-SOURCE
> Task :processResources UP-TO-DATE
> Task :classes UP-TO-DATE
> Task :compileTestJava UP-TO-DATE
> Task :compileTestGroovy
> Task :processTestResources UP-TO-DATE
> Task :testClasses
> Task :test FAILED
Condition not satisfied:
> context != null | | null false
>
> Condition not satisfied:
>
> context != null | | null false
自从我使用 Spock 以来已经有一段时间了,所以我不是 100% 确定我的库是正确的,但它确实尝试 运行,只是似乎无法加载上下文。
您需要在项目中包含 spock-spring
。
用 spock-spring
替换 spock-core
重复项中的 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'
我有一个 springBootVersion = '2.3.2.RELEASE' 应用程序,我想使用 Spock 进行单元和集成测试。我在我的 Gradle:
中为 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
}
}
但是当我 运行 它时,ApplicationContext 为空:
> Task :compileJava UP-TO-DATE
> Task :compileGroovy NO-SOURCE
> Task :processResources UP-TO-DATE
> Task :classes UP-TO-DATE
> Task :compileTestJava UP-TO-DATE
> Task :compileTestGroovy
> Task :processTestResources UP-TO-DATE
> Task :testClasses
> Task :test FAILED
Condition not satisfied:
> context != null | | null false
>
> Condition not satisfied:
>
> context != null | | null false
自从我使用 Spock 以来已经有一段时间了,所以我不是 100% 确定我的库是正确的,但它确实尝试 运行,只是似乎无法加载上下文。
您需要在项目中包含 spock-spring
。
用 spock-spring
替换 spock-core
重复项中的 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'