首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >spring boot & Spock

spring boot & Spock
EN

Stack Overflow用户
提问于 2021-11-19 02:25:32
回答 1查看 31关注 0票数 0

我有一个springBootVersion = '2.3.2.RELEASE‘应用程序,我想使用Spock进行单元测试和集成测试。我在我的Gradle里写了这个给Spock:

代码语言:javascript
复制
  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'

我的第一个测试非常简单:

代码语言:javascript
复制
@SpringBootTest(classes = PrototypeApplication.class)
class PrototypeApplicationSpec extends Specification {

    @Autowired
    ApplicationContext context

    def "test context loads"() {
        expect:
        context != null
    }
}

但是当我运行它时,ApplicationContext是空的:

代码语言:javascript
复制
> 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以来已经有一段时间了,所以我不是百分之百地确定我的库是正确的,但它确实试图运行,只是看起来不能加载上下文。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-19 13:04:00

您需要在项目中包含spock-spring

在您的build.gradle中,用spock-spring替换其中的一个spock-core副本

代码语言:javascript
复制
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'
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70029098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档